kotlin - 如何编写三元条件运算符?

这个表达式在 Kotlin 中的等价物是什么?

a ? b : c

这不是 Kotlin 中的有效代码。

最佳答案

在 Kotlin 中,if 语句是表达式。所以下面的代码是等价的:

if (a) b else c

表达式和语句之间的区别在这里很重要。在 Java/C#/JavaScript 中,if 形成一个语句,这意味着它不会解析为一个值。更具体地说,您不能将其分配给变量。

// Valid Kotlin, but invalid Java/C#/JavaScript
var v = if (a) b else c

如果您来自一种语言,其中 if 是一个语句,这可能看起来不自然,但这种感觉很快就会消退。

https://stackoverflow.com/questions/16336500/

相关文章:

collections - Kotlin 的列表缺少 "add"、 "remove"、 map 缺少

kotlin - Kotlin 中的惯用登录方式

arrays - 如何用值初始化 Kotlin 中的数组?

kotlin - 在 Kotlin 中按多个字段对集合进行排序

properties - 使用 "by lazy"与 "lateinit"进行属性初始化

constants - "const"和 "val"有什么区别?

kotlin - 智能转换为 'Type' 是不可能的,因为 'variable' 是一个可变属性,

kotlin - 如何将 Kotlin 的 MutableList 初始化为空 MutableLis

kotlin - 如何检查 "lateinit"变量是否已初始化?

kotlin - Kotlin中的var和val有什么区别?