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

}
相关推荐
雪宫街道1 分钟前
SpringBoot 向 IOC 容器注册组件的两种姿势:@Configuration 与 @Import
java·spring boot·后端·spring
techdashen5 分钟前
Cargo 1.94 开发周期全解析
开发语言·后端·rust
枕星而眠8 分钟前
Linux守护进程完全指南:从原理到实战
linux·运维·服务器·c++·后端
charlie11451419114 分钟前
现代C++特性指南——constexpr 构造函数与字面类型
开发语言·c++
北城以北888818 分钟前
虚拟机安装JDK,Tomcat,部署项目
java·开发语言·tomcat
江华森20 分钟前
Python 3 实战教程:从零基础到项目实战
开发语言·python
Wonderful U24 分钟前
Python+Django实战|在线音乐分享平台:音乐上传、歌手专辑管理、在线播放、自定义歌单、收藏点赞、评论互动
开发语言·python·django
小糯米60133 分钟前
JavaScript表达式与运算符
开发语言·javascript·ecmascript
北极星日淘37 分钟前
煤炉自动代拍功能开发 | Python 异步任务实现批量下单
开发语言·python·自动化
体验家1 小时前
体验家 XMPlus 网页端问卷 SDK 技术解析:用几行 JavaScript 实现精准场景触发与防打扰机制
开发语言·前端·javascript