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

}
相关推荐
明月_清风3 分钟前
SaaS 的三层挣钱逻辑,正在被 AI 从第一层击穿
人工智能·后端
智感子19 分钟前
智能称重·数据上云:从仪表读数到可追溯的计量凭证
开发语言·php
\光辉岁月/28 分钟前
7.javase-面向对象
java·开发语言
weixin_5310946944 分钟前
heap_4内存管理
java·开发语言·算法
疯狂的维修1 小时前
关于用C#写电机起保停控制
开发语言·c#
谁在黄金彼岸1 小时前
nginx服务化五套方案原理解剖与选型
后端
谁在黄金彼岸2 小时前
WinSW在Win7上失败真相-实测与修复
后端
花间相见2 小时前
【后端开发|Redis进阶01】—— Redis分布式锁全解:从SETNX到Redisson看门狗,再到RedLock
后端·面试
llqbzllll2 小时前
A2A 1.0 到底和 MCP 差在哪:从 Agent Card、Task 到 Java 最小互操作
后端
花间相见2 小时前
【后端开发|JVM基础01】—— Java垃圾回收全解:从分代内存模型到各收集器的分代职责
后端