Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin:函数使用=when()返回值_Kotlin - Fatal编程技术网

Kotlin:函数使用=when()返回值

Kotlin:函数使用=when()返回值,kotlin,Kotlin,我最近发现,对于一个只返回基于输入的值的函数,这种语法非常好: fun getItem(value: Int): String = when (getPosition(value)) { 0 -> "Zero" 1 -> "One" 2 -> "Two" else -> "Other" } 是否也可以使用范围或运算符 我试过做一些事情,比如: >0 -> "Positive" 不被接受,以及 0-10 -> "Postivel

我最近发现,对于一个只返回基于输入的值的函数,这种语法非常好:

fun getItem(value: Int): String = when (getPosition(value)) {
   0 -> "Zero"
   1 -> "One"
   2 -> "Two"
   else -> "Other"
}
是否也可以使用范围或运算符

我试过做一些事情,比如:

>0 -> "Positive"
不被接受,以及

0-10 -> "Postively small"

(自然地)被视为“0减10”,我想。

你可以做这些事情,但不能用你描述的方式。例如,您可以像这样使用
is
in
=

valx=10
何时(x){
在0..10->1中
10 -> 2
是Int->3
其他->4
}
但不能使用比较运算符(
)。解释了原因。您可以使用任意表达式,但不能重载
,因此无法执行
大于(x)
的操作


如果您缺少Kotlin的一些功能,您可以随时打开一个,以便在某个时候实现它

太好了!这就是诀窍;在我的例子中不需要,所以“在x和u之间”是完美的。