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

}
相关推荐
PinkSun6 分钟前
Spring AI ChatMemory踩坑实录:重启丢数据、Agent丢记忆、对话溢出
后端·ai编程
壹方秘境10 分钟前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男11 分钟前
HarmonyOS 6.0跨端远程控制
前端·后端
苏三说技术34 分钟前
全网爆火的Loop到底是什么?
后端
神奇小汤圆1 小时前
Loop Runtime 架构拆解:别再手动催 Agent,先把工程闭环跑起来
后端
程序员cxuan1 小时前
幽默,一个 Github 名字叫“马尾辫”,但是他给你省了 80% 的 token
人工智能·后端·程序员
程序员晓琪1 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
银卡1 小时前
RAG Embedding 模型选型
后端
用户559822481221 小时前
Claude Code + DeepSeek V4 Pro 说"不行"时,别信
后端