解釋:這個問題更多的是關於Kotlin的設計意圖。許多表達語言支持Ternary operator
和if expression
爲什麼Kotlin不支持「三元運算符」
首先,我知道Groovy的支持Ternary operator
和Elvis operator
[例如,紅寶石,Groovy的]:Ternary operator in Groovy。所以我不認爲這是一個語法問題。
然後正式文件表示:
在科特林,如果是一個表達式,即它返回一個值。因此沒有三元運算符(條件?然後:else),因爲普通的if在這個角色中工作正常。
而這並不能說服我。因爲Kotlin支持普通的Elvis operator
如果在那個角色中工作得很好。
我認爲ternary operator
有時比普通if
更好,但我不知道爲什麼Kotlin不支持ternary operator
?
[Kotlin三元條件運算符]的可能重複(http://stackoverflow.com/questions/16336500/kotlin-ternary-conditional-operator) –
重複的副本:http://stackoverflow.com/questions/ 34935918/kotlin相當於三元運算符 –