Kotlin:如何从范围返回一些值?
在Scala中,我可以这样写:Kotlin:如何从范围返回一些值?,kotlin,Kotlin,在Scala中,我可以这样写: val something = { val temp1 = ... val temp2 = ... temp1 + temp2 } 据我所知,在Kotlin做到这一点的最佳方法是: val something = { val temp1 = ... val temp2 = ... temp1 + temp2 }() 实际上,它是一个lambda,类型为Unit->Int,立即被调用。我想知道这段代码是否可以改进?也许有一个内置函数允许我
val something = {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}
据我所知,在Kotlin做到这一点的最佳方法是:
val something = {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}()
实际上,它是一个lambda,类型为Unit->Int,立即被调用。我想知道这段代码是否可以改进?也许有一个内置函数允许我编写val something=block{…}或类似的东西?您可以使用函数
run
,例如:
val something = run {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}
这与OP发布的内容是一样的(甚至更详细)?现在你编辑了它,它正是他想要的。