在 Kotlin 中将确定列表展开为变量

zer*_*ero 4 destructuring kotlin

检查下面的代码[这工作正常]

val a = "1,2,3"

val split = a.split(",")
val x = split.get(0)
val y = split.get(1)
val z = split.get(2)

println(x) // 1
println(y) // 2
println(z) // 3
Run Code Online (Sandbox Code Playgroud)

在 Kotlin 中,是否有更好的方法将确定数组的值放入这些变量中,例如

val a = "1,2,3"
val (i, j, k) = a.split(",") // ...{some magic code to put each item against variables i,j,k}

// This is how i want to use it
println(i) // 1
println(j) // 2
println(k) // 3
Run Code Online (Sandbox Code Playgroud)

Ada*_*hip 10

你真的尝试过运行你的代码吗?它工作得很好:

val a = "1,2,3"
val (i, j, k) = a.split(",")

println(i)
println(j)
println(k)
Run Code Online (Sandbox Code Playgroud)

输出:

1
2
3
Run Code Online (Sandbox Code Playgroud)

它起作用的原因是 Kotlin 的解构声明。对于列表,您最多可以对 5 个项目执行此操作,因为它定义了5 个组件函数