我想在同一行中填充两个变量,但我不知道在kotlin 中最好的方法
var a:String? = null
var b:String? = null
a, b = "Text"
在Kotlin中是不可能的(除非你准备好采用一些人为的重复结构,如其他答案和评论中所述(。你甚至不能写
a = b = "Text"
因为奇怪的是,Kotlin中的赋值是而不是表达式(与几乎所有其他表达式相反,如if
、return
、throw
、swicth
等,是Kotlin的表达式,但不是Java中的(。
因此,如果你想分配完全相同的值而不重复(分配的值(,你必须编写
a = "Text"
b = a
注意,还有一个also
函数(双关语(,所以从技术上讲,如果你真的想停留在一行上,你可以写以下内容
a = "Text".also { b = it }
但我怀疑这是否真的值得。
var a: String? = null; var b: String? = null
或
var (a: String?, b: String?) = null to null
但请不要这样做
只需创建一个内联数组,遍历并赋值。
listOf(a, b, c, d).forEach { it = "Text" }