Kotlin:如何从范围中返回一些价值?
在斯卡拉我可以写这样的东西:
val something = { val temp1 = ... val temp2 = ... temp1 + temp2 }
据我所知在Kotlin中做同样的最好的方法是:
val something = { val temp1 = ... val temp2 = ... temp1 + temp2 }()
实际上它是一个类型为Unit – > Int的lambda,立即被调用。 我不知道这个代码可以改进吗? 也许有一个内置函数允许我写val = block {…}或者类似的东西?
你可以使用函数run
,如:
val something = run { val temp1 = ... val temp2 = ... temp1 + temp2 }