一、闭包实际意义

        闭包即为函数的嵌套,实质上是面向函数的编程

二、与Java对比

        Java是纯面向对象的语言,对比仓颉而言,对函数编程相对无力。

三、简单的代码实现

//闭包,函数的嵌套
public class Body{
    public  var fn : Int64 = 10
}
public func Out(){
    let a1:Body = Body()
    func In(){
        a1.fn--
        println("值为${a1.fn}") 
    }
    In//函数表达式
}
public func exec() {
  var  fn =   Out()
  fn()
  fn()
  
}

        在Out函数中先给定a1的值,嵌套In函数,进行自减操作,并输出此时a1的值,每次调用Out函数都会自减并输出一次a1的值,所以会输出两个值,分别为9和8。

运行结果

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐