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 分钟前
Autosar网络管理测试用例 - TC003
c语言·开发语言·学习·汽车·测试用例·capl·canoe
共享家95276 分钟前
特殊类的设计
开发语言·c++
l***749427 分钟前
SQL Server2022版+SSMS安装教程(保姆级)
后端·python·flask
嘟嘟w35 分钟前
JVM(Java 虚拟机):核心原理、内存模型与调优实践
java·开发语言·jvm
信奥卷王1 小时前
2025年9月GESPC++三级真题解析(含视频)
开发语言·c++·算法
喵了几个咪1 小时前
Golang微服务框架kratos实现Socket.IO服务
开发语言·微服务·golang
q***42051 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
昵称为空C1 小时前
kafka的替代品redpanda部署与SpringBoot集成使用案例
spring boot·后端·kafka
qq_433554542 小时前
C++ 稀疏表
开发语言·c++·算法
z***y8622 小时前
Java数据挖掘开发
java·开发语言·数据挖掘