用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)
}
解构声明。
比如想让一个函数返回三个值,可以创建一个有三个参数的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
Kotlin不支持一个函数返回多个值
你用go吧——
或者一些弱类型语言也行,python/js/……