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 分钟前
【数据结构与算法】第26篇:静态查找(二):插值查找与斐波那契查找
c语言·开发语言·数据结构·学习·算法·重构·visual studio
sensen_kiss2 分钟前
CAN302 Technologies for E-Commerce 电子商务技术 Pt.4 深入了解PHP和SQL
开发语言·sql·php
程序员 沐阳2 分钟前
原型链:JavaScript 世界的家族族谱
开发语言·javascript·ecmascript
lsx2024062 分钟前
Bootstrap5 表单浮动标签
开发语言
csbysj20205 分钟前
Vue.js 事件处理器
开发语言
Mr_Xuhhh7 分钟前
JAVA SE重点
java·开发语言
沐知全栈开发9 分钟前
Bootstrap4 轮播教程
开发语言
long_songs13 分钟前
Python编程第03课:第一个Python程序 - Hello World深度解析
开发语言·python
jwn99914 分钟前
PHP vs 汇编:编程语言的两极对决
开发语言·汇编·php
池️鱼17 分钟前
Lambda 表达式 —— Java 8 的函数式编程利器
java·开发语言