如何使用Kotlin中的when表达式一次初始化3个变量

德米特里·列昂诺夫

我可以像这样初始化 2 个不同类型的变量:

val (p1, p2) = when (someEnum: SomeEnum) {
    SomeEnum.x -> "NameX" to 100
    SomeEnum.y -> "NameY" to 200
}

除了 3 个变量,我将如何做同样的事情?

德米特里·列昂诺夫

to创建一个包含 2 个元素的元组 -Pair<A, B>因此使用包含三个元素的元组Triple<A, B, C>是解决方案。

val (p1, p2, p3) = when (enum: SomeEnum) {
    SomeEnum.x -> Triple("NameX", 100, true)
    SomeEnum.y -> Triple("NameY", 200, false)
}

对于相同类型的变量:

val (p1, p2, p3) = when (enum: SomeEnum) {
    SomeEnum.x -> listOf<String>("NameX", "100", "true")
    SomeEnum.y -> listOf<String>("NameY", "200", "false")
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用已在 when 表达式中初始化的变量?

如何一次初始化几个结构变量?

在php中仅初始化一次变量

如何在 Swift 中只初始化一次 Struct 中的变量

如何只在构造函数中初始化一次变量?

如何使用新运算符在表达式中聚合初始化STL容器?

如何一次返回使用 2 个正则表达式?

有没有一种方法可以一次声明多个相同类型的对象,并仅通过一个表达式立即用相同的右值对其进行初始化?

python:总有一次只能初始化一个变量吗?

如果C ++中的数组要求的大小是一个常量表达式,为什么我可以使用仅带有const的变量来对其进行初始化?

是否可以使用Kotlin将对象表达式用于AsyncTask声明/初始化?

变量用动态值初始化一次

错误:在C中初始化二维结构变量时的预期表达式

在for循环中一次初始化两个变量

一次不能初始化四个以上的变量吗?

建议使用可能会引发的表达式初始化const变量的方法

在模板文件的表达式中使用未初始化的变量时出错

需要初始化一个整数linq表达式

如何在同一表达式中解构和初始化缺少的嵌套字段?

在 Kotlin 中初始化属性,以便代码只执行一次

如何用逻辑表达式初始化布尔?

一次初始化4个CGFloat

使用正则表达式初始化地图

PHP:使用表达式初始化数组

ES6模块中的静态变量(仅初始化一次)

javascript函数中的const变量是每次调用还是只初始化一次?

如何使用正则表达式在Visual Studio 2015中查找所有初始化的类?

Python仅初始化一次变量,并在单独的文件中使用

从文件初始化的静态变量仅初始化一次