kotlin 函数怎么返回多个值

发布网友 发布时间:2022-04-22 08:13

我来回答

5个回答

热心网友 时间:2022-06-18 10:54

用Pair或Triple就行了,得到返回结果以后用解构声明把值取出来。
Pair可以装两个值,Triple可以装三个,如果不够,自由嵌套就行了,如果再多,我建议你用list或map。
fun returnPair(): Pair<Int, Pair<Int, String>> {
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<Int, String, Pair<Int, String>> {
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)
}

热心网友 时间:2022-06-18 10:54

解构声明。
比如想让一个函数返回三个值,可以创建一个有三个参数的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

热心网友 时间:2022-06-18 10:55

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

热心网友 时间:2022-06-18 10:55

热心网友 时间:2022-06-18 10:56

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com