可能有点广泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体.
最明显的用法是when条件语句,它用于将表达式分配给特定条件:
val greet = when(args[0]) {
"Appul" -> "howdy!"
"Orang" -> "wazzup?"
"Banan" -> "bonjur!"
else -> "hi!"
}
println(args[0] +" greets you: \""+ greet +"\"")
Run Code Online (Sandbox Code Playgroud)
有什么其他用途,他们做了什么?Kotlin中箭头操作符有一般含义吗?
mie*_*sol 34
这->是Kotlin语法的一部分(类似于Java的lambda表达式语法),可以在3个上下文中使用:
when 表达式,它将"匹配/条件"部分与"结果/执行"块分开
val greet = when(args[0]) {
"Apple", "Orange" -> "fruit"
is Number -> "How many?"
else -> "hi!"
}
Run Code Online (Sandbox Code Playgroud)lambda表达式,它将参数与函数体分开
val lambda = { a:String -> "hi!" }
items.filter { element -> element == "search" }
Run Code Online (Sandbox Code Playgroud)函数类型,它将参数类型与结果类型分开,例如 comparator
fun <T> sort(comparator:(T,T) -> Int){
}
Run Code Online (Sandbox Code Playgroud)有关Kotlin语法的详细信息,请参阅文档:
don*_*ner 10
该->是一个分隔符。它是用于分隔不同用途的代码的特殊符号。它可用于:
将lambda 表达式的参数和主体分开
val sum = { x: Int, y: Int -> x + y }
Run Code Online (Sandbox Code Playgroud)将函数类型中的参数和返回类型声明分开
(R, T) -> R
Run Code Online (Sandbox Code Playgroud)将when 表达式分支的条件和主体分开
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
Run Code Online (Sandbox Code Playgroud)这是在文档中。
| 归档时间: |
|
| 查看次数: |
11139 次 |
| 最近记录: |