在 Java 中使用三目运算符还是挺爽的,但是 kotlin 却把它给抛弃掉了,只能用 if else 来替换
a ? b : c
if (a) b else c
在 Kotllin 中, if 语句是一个表达式,表达式意味着有返回值,所以你可以用表达式给一个属性属性,比如
var v = if (a) b else c
kotlin 认为,既然 if 已经可以支持了,于是三目运算符就没有必要了。除了 if , when 等都是表达式,都有返回值,都可以用来给一个属性赋值。
我怀疑抛弃掉三目运算符的另外一个原因,是和 ? : 两个符合在 kotlin 中有更广泛的用途有关。
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: Kotlin 三目运算符
本文地址: https://binkery.com/archives/2020.09.24-kotlin-ternary-conditional-operator.html