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

}
相关推荐
apcipot_rain4 小时前
C++转Java日记(06)
java·开发语言
脚本自动化开发7 小时前
柔光屏平板怎么选?华为 MatePad Air Z 柔光版学
后端
程序猿DD8 小时前
OctaFuse 2.19.0:重做管理后台界面与交互,模型目录同步更新
后端
金銀銅鐵9 小时前
带您看懂字节码指令(一):一帧里有什么
java·后端·ai编程
码事漫谈10 小时前
Agent 测评是什么?大白话讲一讲
后端
皮皮林55110 小时前
在 IDEA 里斗个地主不过分吧!
后端
SomeOtherTime11 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood11 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青12 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
程序员cxuan12 小时前
离谱,AI 大佬顺手搓了个 YouTube ,而我顺手给他搓了个中文插件
人工智能·后端·程序员