以下 Kotlin 代码有效
val (x, y) = getSomeXYPair()
Run Code Online (Sandbox Code Playgroud)
但是你不能用lateinit
全局变量来做到这一点
class Foo {
private lateinit var x: Int
private lateinit var y: Int
init {
(x, y) = getSomeXYPair()
}
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道我是否做错了什么,或者这在 Kotlin 中不受支持?
你不能用任何类型的变量来做到这一点,无论是否本地:
fun main() {
var x : Int = 1
var y : Int = 2
(x, y) = getSomeXYPair()
}
Run Code Online (Sandbox Code Playgroud)
这种语法在 Kotlin 中根本无效。您需要使用var
或开始解构声明val
:https :
//kotlinlang.org/docs/reference/multi-declarations.html#destructuring-declarations
也就是说,撇开lateinit
诸如Int
.
归档时间: |
|
查看次数: |
81 次 |
最近记录: |