为什么 Kotlin 中没有三元运算符?

我一直很好奇为什么与 Java 相比 Kotlin 具有更多的附加功能却没有像 Java 那样的三元运算符。

Kotlin官方文档给了我这个答案,以下是kotlin官方文档中给出的原因:

In Kotlin, if is an expression: it returns a value. Therefore, there is no ternary operator (condition ? then : else) because ordinary if works fine in this role.

var max = a
if (a < b) max = b

// With else
var max: Int
if (a > b) {
    max = a
} else {
    max = b
}

// As expression
val max = if (a > b) a else b

所以,我们可以从例子中看到,满足了三元运算符的功能,为什么需要一个额外的运算符。

如果您将 if 用作表达式,例如,用于返回其值或将其分配给变量,则 else 分支是必需的。

参见: https://kotlinlang.org/docs/control-flow.html#if-expression

# Kotlin 

作者:ITmob
来源:ITmob.cn
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×