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

}
相关推荐
_Twink1e7 分钟前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
创新技术阁10 分钟前
FastapiAdmin 系统日志体系与核心配置参数详解
前端·后端·fastapi
掘金者阿豪11 分钟前
SQL Server 迁到金仓,真正麻烦的不是数据,而是这些 T-SQL
后端
问天_观心19 分钟前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
阿里嘎多学长24 分钟前
2026-09-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Kyrie_kk34 分钟前
Java--IO--Path文件访问
java·后端
wxwx_bscxy3221 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
分支预测失败1 小时前
RISC-V AIA 中断架构实战:从 PLIC 到 APLIC 与 IMSIC 的迁移
linux·后端
源代码•宸1 小时前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
我的div丢了肿么办1 小时前
go语言中的map,map定义不同的数据类型,循环map,map的无序性
后端·go