kotlin - 如何在 Kotlin 中将 Pair 对象解构为两个变量
问题描述
我有一个返回的函数Pair
:
fun createTuple(a: Int, b: Int): Pair<Int, Int> {
return Pair(a, b)
}
我想初始化变量a
并b
使用此函数,然后在循环内重新分配它们:
var (a, b) = createTuple(0, 0)
for (i in 1..10) {
createTuple(i, -i).let{
a = it.first
b = it.second
}
println("a=$a; b=$b")
}
使用let
似乎很尴尬。有没有更好的方法来解开Pair
内部循环?
以下行不编译:
(a, b) = createTuple(i, -i)
a, b = createTuple(i, -i)
解决方案
var (a, b) = createPair(0, 0)
对我来说编译得很好。
您的问题可能是使用createTuple(i, -i)
而不是createPair(i, -i)
.
推荐阅读
- python - 在已添加到现有模型的产品模型字段上运行 makemigrate 时出错
- javascript - 在 Javascript 中获取 Internet 连接状态
- google-cloud-dataflow - 谷歌数据流管道卡在 GroupByKey
- macros - 如何使用SPSS查找所有变量的最大值和最小值并在表格中显示?
- gradle - 从 Eclipse 启动 Web 应用程序的问题以及如何在 build.gradle 中将码头升级到 9.4.20
- java - 如何使用哈希图添加增量值
- sapui5 - 和过滤 SAP UI5
- java - 有没有办法格式化您的输出,使其输出更均匀?
- java - 如何为 tableview 使用多个泛型类型?
- c# - 组合框的过滤 - 奇怪的行为