Operators 箭头(";>;)操作符在Kotlin中做什么?
可能是一个有点宽泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立实体 最明显的用法是when条件语句,用于将表达式指定给特定条件:Operators 箭头(";>;)操作符在Kotlin中做什么?,operators,kotlin,Operators,Kotlin,可能是一个有点宽泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立实体 最明显的用法是when条件语句,用于将表达式指定给特定条件: val greet = when(args[0]) { "Appul" -> "howdy!" "Orang" -> "wazzup?" "Banan" -> "bonjur!" else -> "hi!" } println(args[0] +"
val greet = when(args[0]) {
"Appul" -> "howdy!"
"Orang" -> "wazzup?"
"Banan" -> "bonjur!"
else -> "hi!"
}
println(args[0] +" greets you: \""+ greet +"\"")
其他用途是什么,它们的作用是什么?
Kotlin中的箭头运算符有一般含义吗?该
->
是Kotlin语法的一部分(类似于Java),可在3种上下文中使用:
表达式将“匹配/条件”部分与“结果/执行”块分离时当
- lambda表达式,其中它将参数与函数体分离
val lambda = { a:String -> "hi!" } items.filter { element -> element == "search" }
- 将参数类型与结果类型分开的函数类型,例如
比较器
fun <T> sort(comparator:(T,T) -> Int){ }
fun排序(比较器:(T,T)->Int){ }
->
是一个分隔符。它是用于区分不同用途代码的特殊符号。它可用于:
- 将参数和主体分隔开
- 将参数和返回类型声明分隔在
- 把树枝的状况和身体分开
->
- 将参数和主体分隔开
- 在数组中分隔参数和返回类型声明
- 分离分支的条件和主体
也许添加示例和参考链接可以改进这个答案。现在有3个上下文,而不仅仅是2个。谢谢大家的帮助和详细的答案。我将深入研究另外两个。对我来说,公认的答案并没有解释
->
是分隔符的基本概念。我的回答是试图解决这个问题。我还试图提供一些例子来清楚地证明这种分离。公平地说,我对科特林本人是新手,但我没有意识到这一点。
fun <T> sort(comparator:(T,T) -> Int){
}
val sum = { x: Int, y: Int -> x + y }
(R, T) -> R
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}