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

}
相关推荐
Asize8 分钟前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
java小白小11 分钟前
SpringBoot(09):缓存实战——穿透、雪崩、击穿的解决方案
后端
java小白小17 分钟前
SpringBoot(08):Redis 集成——5 分钟给你的项目加上缓存
后端
LiuMingXin30 分钟前
意图与代码之间:AI编程范式全景解读
前端·后端·面试
用户34232323763171 小时前
边缘计算与云边协同——当采集不再只是“上传“
后端
壹方秘境1 小时前
ApiCatcher支持抓包HTTP传输大文件的实现原理分享
前端·后端·客户端
神奇小汤圆1 小时前
2026最新·最全·最实用|Java岗面试真题(已收录GitHub)
后端
神奇小汤圆2 小时前
面试官当场让我手写Java线程安全工具类,我写完直接拿到了35K offer
后端
久美子2 小时前
Qoder 使用指南:从配置到落地
后端
tyung3 小时前
Go 手写 Wait-Free MPSC 无界队列:SwapPointer 实现多生产者无锁入队
后端·go