在Scala中,我可以这样写:
val something = {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}
据我所知,在Kotlin中做同样事情的最佳方式是:
val something = {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}()
实际上它是一个类型为单位的lambda - > Int立即调用。我想知道这个代码能以某种方式改进吗?也许有一个内置函数,允许我写val something = block {...}或类似的东西?
答案 0 :(得分:14)
您可以使用功能run
,例如:
val something = run {
val temp1 = ...
val temp2 = ...
temp1 + temp2
}