如果我们直接在一个继承于App的类中定义:
val f = (x: Int) => { return x; 2 }
会提示我们:return outside method definition,现在我们把它放在一个方法中:
def outter: Int = {val f = (x: Int) => { return x; 2 }
println("before.")
f(1)
println("after.")
3
}
println(outter)
输出:
before.
1
也就是f(1)后面的任何代码都没有执行,到了f(1)中的return已经返回到它外部的outter而不是返回(x:Int)的返回点。
本文探讨了Scala中函数的返回机制,特别是如何处理匿名函数内的return语句。通过具体示例展示了return语句如何影响外层函数的执行流程,并解释了在Scala中正确使用return的重要性。

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



