我最近发现了一个仅根据输入返回值的函数的良好语法:
fun getItem(value: Int): String = when (getPosition(value)) {
0 -> "Zero"
1 -> "One"
2 -> "Two"
else -> "Other"
}
Run Code Online (Sandbox Code Playgroud)
是否还可以使用范围或<>运算符?
我试过做类似的事情:
>0 -> "Positive"
Run Code Online (Sandbox Code Playgroud)
哪个不被接受,并且
0-10 -> "Postively small"
Run Code Online (Sandbox Code Playgroud)
我认为(自然地)被视为“ 0减去10”。
您可以执行其中一些操作,但不能以您描述的方式进行。例如,您可以使用is,in并且==这样:
val x = 10
when (x) {
in 0..10 -> 1
10 -> 2
is Int -> 3
else -> 4
}
Run Code Online (Sandbox Code Playgroud)
但您不能使用比较(<,>)。这样做的原因解释这里。您可以使用任意表达式,但<并>不能超载,所以你不能这样做greaterThan(x)。
如果您缺少Kotlin的某些功能,则可以随时打开KEEP,以便在某个时候实现它!
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |