闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。
闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。
如上图 一,二。
此处代码 i, factor 变量是运行时候传进来的,验证了,返回值依赖于声明在函数外部的一个或者多个变量。
package oneday
/**
* Created by yx on 2016/12/2.
*/
object Test1 {
var factor = 3
var multiplier = (i:Int) => i * factor
def main(args: Array[String]): Unit ={
println("mulipier(1) value = " + multiplier(1))
println("mulipier(2) value = " + multiplier(2))
}
}