object TestBreak {
var f = 3
val mu = (i:Int) => i * f
def main(args: Array[String]): Unit = {
var f = 4
println( "muliplier(1) value = " + mu(1))
}
}
输出:
muliplier(1) value = 3
main方法的f=4不会影响mu的闭包.
本文探讨了Scala中闭包的作用,解释了main方法中的局部变量f值为4为何不影响mu函数的闭包行为,强调了在函数式编程中闭包的重要性和变量作用域的原理。
object TestBreak {
var f = 3
val mu = (i:Int) => i * f
def main(args: Array[String]): Unit = {
var f = 4
println( "muliplier(1) value = " + mu(1))
}
}
输出:
muliplier(1) value = 3
main方法的f=4不会影响mu的闭包.

被折叠的 条评论
为什么被折叠?