def f1(a:Int)={ def f2(b:Int)={ a + b } f2 _ } // 在调用时,f1函数执行完毕后,局部变量a应该随着栈空间释放掉 val f = f1(1) val f2 = f(6) //执行完f1()才会返回f2(),但是当f2()执行时f1()执行完了,但是a由于f2()的闭包不会随着f1()结束,这是闭包 // 但是在此处,变量a其实并没有释放,而是包含在了f2函数的内部,形成了闭合的效果 来源:https://www.cnblogs.com/sunpengblog/p/11576892.html 标签 闭包 scala f1