kotlin 函数怎么返回多个值

2024年11月27日 16:51
有5个网友回答
网友(1):

用Pair或Triple就行了,得到返回结果以后用解构声明把值取出来。
Pair可以装两个值,Triple可以装三个,如果不够,自由嵌套就行了,如果再多,我建议你用list或map。
fun returnPair(): Pair> {
return Pair(1,Pair(2,"ss"))
}
fun usePair(){
val (i1,pair) = returnPair()
val (i2, s) = pair
println(i1)
println(i2)
println(s)
}
fun returnTriple(): Triple> {
return Triple(1,"s",Pair(2,"ss"))
}
fun useTriple(){
val (i1,s1,pair) = returnTriple()
val (i2, s2) = pair
println(i1)
println(i2)
println(s1)
println(s2)
}

网友(2):

解构声明。
比如想让一个函数返回三个值,可以创建一个有三个参数的data class。让这个函数的返回值是这个data class。然后用解构声明即可。
data class ThreeClass (val a: Int, val b: Int, val c: Int)
fun three(): ThreeClass {
val i1 = 100

val i2 = 200

val i3 = 300

return ThreeClass(i1, i2, i3)

}
//////////////////////////////////////////////////////////////////
val (a, b c) = three()
println("$a, $b, $c")
/////////////////////////////////////////////
输出结果:100, 200, 300

网友(3):

Kotlin不支持一个函数返回多个值

网友(4):

网友(5):

你用go吧——
或者一些弱类型语言也行,python/js/……