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)
  }

}
相关推荐
IT_陈寒1 分钟前
Redis雪崩把我坑惨了,三招教你躲过去
前端·人工智能·后端
ikoala1 分钟前
同样叫 Harness,DeepSeek Harness 和 Pi 根本不在同一层
前端·后端·ai编程
大白806 分钟前
多模态大模型能干什么?图文音视频统一理解,正在重画 AI 的边界
后端
花卷持续成长6 分钟前
“码上面试”项目学习02
后端
mldong6 分钟前
同一个审批流引擎,我写了两次:一次 11226 行,一次 7036 行
后端·架构
百万蹄蹄向前冲6 分钟前
一张平面图把学校做成2D游戏
前端·人工智能·后端
沙蒿同学6 分钟前
一个人做完一套企业级系统,赚到了第一个 1000 块
vue.js·后端·go
机器之心7 分钟前
突发:Claude自主发现未知生物系统,或能编辑基因
前端·人工智能·后端
用户8356290780517 分钟前
使用 Python 在 Excel 中添加和管理图片
后端·python
码事漫谈7 分钟前
AI巨头集体喊“慢”,但谁都不敢先踩刹车
后端