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

}
相关推荐
An_s3 分钟前
机器学习python之识别图中物品信息
java·linux·开发语言
明月_清风6 分钟前
从零写一个"像人"的爬虫:反爬攻防实战指南
后端·爬虫
贰先生8 分钟前
Xiuno BBS 审计之问题13:管理员发帖 doctype=0 时存储型 XSS
后端
小雪_Snow13 分钟前
JavaScript 中的三种常用事件
开发语言·前端·javascript
肖爱Kun17 分钟前
C++设计策略模式
开发语言·c++·策略模式
贰先生25 分钟前
Xiuno BBS 审计之问题12:HTTPS 请求关闭 SSL 证书校验,存在中间人攻击风险
后端
灯澜忆梦42 分钟前
GO_面向对象_方法
开发语言·golang
HZ_YZ43 分钟前
清理服务器硬盘脚本
后端
布朗克1681 小时前
Go 入门到精通-16-字符串深入
开发语言·后端·golang·字符串
北冥you鱼1 小时前
Go flag 包详解:从命令行解析到实战应用
开发语言·后端·golang