2023年9月5日 星期二

【Kotlin】【Android Studio】三元運算符(ternary operator) 、 Elvis Operator ?:

 Elvis Operator 


val l: Int = if (b != null) b.length else -1
可以改寫為
val l = b?.length ?: -1

或者說
// Returns `x` if `x` is not null, return `y` otherwise.
x ?: y 

三元運算符(ternary operator) 

Kotlin沒有提供  val max = if (a > b) a else b 這樣的語法,但可以使用 var var_name = if(condition) value1 else value2

不過在 Android Studio 寫 layout 時,可以使用如下的寫法 :
android:visibility = "@{scannerResultViewModel.heat == null ? View.GONE : View.VISIBLE}"

參考資料


0 comments:

張貼留言