如何在一行中设置多个kotlin变量



我想在同一行中填充两个变量,但我不知道在kotlin 中最好的方法

var a:String? = null
var b:String? = null
a, b = "Text"

在Kotlin中是不可能的(除非你准备好采用一些人为的重复结构,如其他答案和评论中所述(。你甚至不能写

    a = b = "Text"

因为奇怪的是,Kotlin中的赋值是而不是表达式(与几乎所有其他表达式相反,如ifreturnthrowswicth等,是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" }

最新更新