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

}
相关推荐
行思理4 分钟前
FastAdmin新手教程
java·开发语言·fastadmin
就叫飞六吧4 分钟前
py脚本一键生成常见文件格式案例
开发语言·python
Tony Bai10 分钟前
Go 性能分析的“新范式”:用关键路径分析破解高并发延迟谜题
开发语言·后端·golang
Kiyra13 分钟前
Spring Boot Starter 自定义开发:封装中间件配置
spring boot·redis·后端·缓存·中间件·性能优化·rocketmq
HABuo13 分钟前
【Linux进程(一)】进程深入剖析-->进程概念&PCB的底层理解
linux·运维·服务器·c语言·c++·后端·进程
lly20240614 分钟前
MySQL 创建数据库
开发语言
minglie120 分钟前
Vitis HLS c转verilog
c语言·开发语言·fpga开发
她和夏天一样热24 分钟前
【实战篇】设计模式在开发中的真实应用
java·开发语言·设计模式
TheSumSt29 分钟前
Python丨课程笔记Part2:方法论进阶部分
开发语言·笔记·python