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

}
相关推荐
likerhood1 分钟前
ConcurrentHashMap详细讲解(java)
java·开发语言·性能优化
用户095367515834 分钟前
Go:浮点数如何进行比较?
后端·go
Zeus_7 分钟前
如何更好的创建skill
后端
千云8 分钟前
AI Coding 落地探索日志 · 初篇 · 启程记
后端·ai编程
机器学习之心15 分钟前
集成BWM法、熵权法、改进博弈论组合赋权与三角直觉模糊云模型的多属性评价模型,MATLAB代码
开发语言·matlab·熵权法·三角直觉模糊云模型·bwm法·改进博弈论组合赋权·多属性评价模型
子兮曰23 分钟前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
子兮曰27 分钟前
Ruflo 深度解析:49K Stars 的 AI Agent 编排平台 — 给 Claude Code 装上分布式神经系统
前端·后端·ai编程
特种加菲猫42 分钟前
二叉搜索树:数据世界的“快速寻路指南”
开发语言·c++
特种加菲猫1 小时前
STL关联容器:Set/Multiset与Map/Multimap详解
开发语言·c++
代码丰1 小时前
大模型 + RAG 幻觉治理方案总结
后端