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

}
相关推荐
神奇小汤圆5 分钟前
Vector Graph RAG 开源!一套向量数据库同时搞定语义检索+RAG多跳
后端
小高学习java6 分钟前
事务的边界问题,如何判断数据回滚时机。
java·数据库·后端
Ting.~11 分钟前
在java中接入百度地图
java·开发语言·dubbo
小短腿的代码世界13 分钟前
Qt对象树析构链与智能指针协同:零泄漏内存管理架构
开发语言·qt·架构
copyer_xyf19 分钟前
Agent Tool 调用
后端·python·agent
zhaqonianzhu20 分钟前
LOL切回桌面问题,采用监控抓出元凶方式
开发语言
Aurorar0rua22 分钟前
CS50 x 2024 Notes Arrays - 04
c语言·开发语言·学习方法
十九画生23 分钟前
Ajax 入门:用 XHR 理解前后端异步请求
前端·javascript·后端
Java编程爱好者24 分钟前
Java 8老系统SQL Agent实战:AI生成候选SQL,安全引擎拦截后再执行
后端
copyer_xyf28 分钟前
Agent 结构化输出
后端·python·agent