标签:object main int 变量 fun rgs 闭包 pre 函数
object Closure { /** * scala中的闭包 * 函数在变量不处于其有效作用域内,还能够对变量进行访问 * * @param args */ def main(args: Array[String]): Unit = { def getHelloFunc(msg:String) = (name:String) => println(msg + "," + name) val sayHello = getHelloFunc("hello") // 传入msg的值 ,后面sayHello依然可以访问到 val sayHi = getHelloFunc("hi") // 两次条用getHelloFunc,传入不同的msg,创建不同的函数返回 // 然而msg只是一个局部变量, // 在getHelloFunc调用后,还继续存在创建的函数中,当sayHello("yxj")调用时,值为hello的msg保留在了函数内部,可以反复使用 // 这种变量超出了其作用域,还可以使用的情况,就是闭包 // scala sayHello("yxj") // 打印 hello,yxj sayHi("yxj") // 打印 hi,yxj } }
标签:object main int 变量 fun rgs 闭包 pre 函数
原文地址:https://www.cnblogs.com/yxj0728/p/9281773.html