Unexpected tokens当我尝试运行此代码时,我在 lambda 函数上遇到错误:
fun main() {
val oddOrEven = { number: Int -> (number % 2 == 0) ? "Even" : "Odd" }
print(oddOrEven(2))
}
Run Code Online (Sandbox Code Playgroud)
Kotlin 中没有三元运算符。请参阅此处的讨论。
if在 Kotlin 中是一个表达式(因此它可以返回一个值),你可以这样做:
fun main() {
val oddOrEven = { number: Int -> if(number % 2 == 0) "Even" else "Odd" }
println(oddOrEven(2))
}
Run Code Online (Sandbox Code Playgroud)
有一个特殊的运算符:
val x = if (y == null) -1 else x
Run Code Online (Sandbox Code Playgroud)
上式可以简化为:
val x ?: -1
Run Code Online (Sandbox Code Playgroud)
这称为 Elvis 运算符 - 如果值为 则null返回另一个值(在本例中为 -1)
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |