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

}
相关推荐
Victory_202518 分钟前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
Cyber4K35 分钟前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技44 分钟前
郑州无代码APP开发公司哪家好呢?推荐
开发语言
周末也要写八哥1 小时前
代码中的注释的重要性(二)
开发语言·python
派星1 小时前
Jetson Orin Nano连接CSI摄像头并实现Gstreamer推流
人工智能·后端
欧雷殿1 小时前
跨设备自动化:家庭 AI 工作台的首个小目标
后端·agent·aiops
SsunmdayKT2 小时前
前后端项目部署与运行机制全流程详解
前端·后端
Reart2 小时前
从0解构tinyWeb项目--(Day:10)
前端·后端·架构
江南十四行2 小时前
Python生成器与协程:从迭代器到异步编程的进阶之路
开发语言·python
SamDeepThinking2 小时前
程序员如何接受工作内容毫无意义?
java·后端·程序员