kotlin 函数怎么返回多个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin 函数怎么返回多个值相关的知识,希望对你有一定的参考价值。
用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)
参考技术A 解构声明。
比如想让一个函数返回三个值,可以创建一个有三个参数的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本回答被提问者采纳 参考技术B Kotlin不支持一个函数返回多个值 参考技术C 参考技术D 你用go吧——
或者一些弱类型语言也行,python/js/……
Gmock当返回多个不同值应该怎么用willrepeatedly
参考技术A 步骤:1、将需要mock的函数方法定义为虚函数;
2、我们需要在编写代码之初,将必要的接口分离,避免依赖外部环境的实现部分与业务逻辑部分混合。这是为了单元测试的时候,我们可以将依赖外部环境的函数实现进行mock。
以上是关于kotlin 函数怎么返回多个值的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合 )
kotlin内置函数letalsowithrunapply记录
Kotlin 协程Flow 异步流 ② ( 使用 Flow 异步流持续获取不同返回值 | Flow 异步流获取返回值方式与其它方式对比 | 在 Android 中使用 Flow 异步流下载文件 )
Kotlin 协程Flow 异步流 ② ( 使用 Flow 异步流持续获取不同返回值 | Flow 异步流获取返回值方式与其它方式对比 | 在 Android 中使用 Flow 异步流下载文件 )