【发布时间】:2019-09-20 02:17:33
【问题描述】:
这个问题是关于 fun() 与 lambda 块定义和范围的对比。
我尝试以两种方式定义表达式。这是我尝试过的:
val myFunction = fun(){
println("i am in a function")
}
//but i also tried doing this:
val myFunction = {
println("i am in a lambda")
}
我的问题是我不知道它们是否等效且相同?
【问题讨论】:
-
我相信
return在体内的行为不同。就像,在第一种情况下,它将是来自myFunction的返回,而在第二种情况下 1) 在您当前的代码中,您不能使用 return 2) 作为接受 lambdas 的函数的参数,它将是来自外功能。另外我怀疑第一种情况在作为参数传递时会禁用内联。 -
@dyuhka 请不要猜测。您可以使用链接(例如语言参考)来证明您的观点。
标签: kotlin lambda anonymous-function