多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
* 闭包是依照包含自由变量的函数字面量在运行时创建的函数值 * 闭包是对函数本身及其所使用的自由变量的统一定义 ```scala val y=1 val add=(x:Int)=>x+y //add是闭包,y是自由变量 ``` * 闭包的变量绑定 * 闭包可捕获自由变量的变化 ```scala var y = 9 val add = (x:Int) => x + y println(add(1)) // 10 y = 19 println(add(1)) // 20 ``` * 闭包对捕获变量作出的改变在闭包之外也可见 ```scala y = 19 val change = (x:Int) => { y= y+x } change(1) println(y) // 20 ```