Scala的函数的闭包

闭包是:一个函数连同该函数的非局部变量的一个引用环境。

函数和变量的定义要在同一个作用域,函数可以引用已经创建的变量,函数可以同值一样被传递和应用,当执行函数时该函数仍然引用着变量。

Scala 复制代码
object Test888 {
  //把函数当做返回值
  def main(args: Array[String]): Unit = {
    //f是一个函数,它的返回值也是一个函数
    var f=(x:Int)=>{
      //对于fn来说,x就是一个非局部变量,x+fn就会构成一个闭包结构
      var fn=(y:Int)=>x+y
      fn
    }

    var s=f(2)//s是一个函数
    var res=s(100)//102
    var res1=s(88)//?
    println(res,res1)
  }

}
相关推荐
你的人类朋友4 小时前
说说签名与验签
后端
databook5 小时前
Manim实现脉冲闪烁特效
后端·python·动效
canonical_entropy8 小时前
AI时代,我们还需要低代码吗?—— 一场关于模型、演化与软件未来的深度问答
后端·低代码·aigc
颜如玉9 小时前
HikariCP:Dead code elimination优化
后端·性能优化·源码
考虑考虑9 小时前
Jpa使用union all
java·spring boot·后端
bobz96510 小时前
virtio vs vfio
后端
Rexi11 小时前
“Controller→Service→DAO”三层架构
后端
bobz96511 小时前
计算虚拟化的设计
后端
深圳蔓延科技11 小时前
Kafka的高性能之路
后端·kafka
Barcke11 小时前
深入浅出 Spring WebFlux:从核心原理到深度实战
后端