![](/img/trans.png)
[英]Kotlin (Android Studio) Unexpected tokens (use ';' to separate expressions on the same line)
[英]Kotlin - Unexpected tokens (use ';' to separate expressions on the same line) with ternary operator in lambda function
當我嘗試運行此代碼時,我在 lambda 函數上收到錯誤Unexpected tokens
error:
fun main() {
val oddOrEven = { number: Int -> (number % 2 == 0) ? "Even" : "Odd" }
print(oddOrEven(2))
}
Kotlin 中沒有三元運算符。 請參閱此處的討論。
if
在 Kotlin 中是一個表達式(因此它可以返回一個值)並且您可以執行以下操作:
fun main() {
val oddOrEven = { number: Int -> if(number % 2 == 0) "Even" else "Odd" }
println(oddOrEven(2))
}
有一個特殊的運算符:
val x = if (y == null) -1 else x
以上可以簡寫為:
val x ?: -1
這稱為 Elvis 運算符 - 如果值為null
則返回另一個值(在這種情況下為 -1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.