Kotlin:如何从范围中返回一些价值?

时间:2015-02-12 12:00:04

标签: kotlin

在Scala中,我可以这样写:

val something = {
  val temp1 = ...
  val temp2 = ...
  temp1 + temp2
}

据我所知,在Kotlin中做同样事情的最佳方式是:

val something = {
  val temp1 = ...
  val temp2 = ...
  temp1 + temp2
}()

实际上它是一个类型为单位的lambda - > Int立即调用。我想知道这个代码能以某种方式改进吗?也许有一个内置函数,允许我写val something = block {...}或类似的东西?

1 个答案:

答案 0 :(得分:14)

您可以使用功能run,例如:

val something = run {
  val temp1 = ...
  val temp2 = ...
  temp1 + temp2
}