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

}
相关推荐
周杰伦fans1 分钟前
C# AutoCAD 二次开发极简入门:从环境搭建到高效实战
开发语言·c#
hhb_6188 分钟前
Swift技术难点梳理与实战案例解析
开发语言·ios·swift
行走的陀螺仪13 分钟前
[特殊字符] JavaScript 设计模式完全指南:从入门到精通(含20种模式)
开发语言·javascript·设计模式
zhangxingchao14 分钟前
AI应用开发五:RAG高级技术与调优
前端·人工智能·后端
信竞星球_少儿编程题库15 分钟前
2026年全国信息素养大赛算法应用主题赛 丝路新城 Python 模拟卷(三)
开发语言·python·算法
知彼解己20 分钟前
Go 开发环境 安装
后端·golang
江湖中的阿龙34 分钟前
【无标题】
java·开发语言
snakeshe101036 分钟前
SpringBoot 多人协作平台实战(7):完善登录模块 —— Spring 注解体系与密码加密实践
后端