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

}
相关推荐
m0_531237171 小时前
C语言-操作符进阶
c语言·开发语言
李广坤1 小时前
Spring Boot Validation 使用手册
后端
q1234567890981 小时前
FNN sin predict
开发语言·python
沐知全栈开发1 小时前
C++ 多态
开发语言
柒.梧.1 小时前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
zihan03211 小时前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot
先做个垃圾出来………1 小时前
Python字节串“b“前缀
开发语言·python
嘻哈baby1 小时前
接口幂等性设计与实战:支付、下单、重试场景怎么搞?
后端
舒一笑1 小时前
IDEA 调试技巧:关联本地源码,告别反编译代码
后端
UrbanJazzerati1 小时前
PostgreSQL 完全实战指南:从小白到高手 DDL篇
后端·面试