可能有点广泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体.
最明显的用法是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中箭头操作符有一般含义吗?
我想添加/设置具有特定键值对的可变映射的元素.到目前为止,我发现我可以使用plus运算符和Pair数据类型添加新元素:
var arr3:Map<Any, Any> = mutableMapOf()
arr3 += Pair("manufacturer", "Weyland-Yutani")
//also, the "to" operator works too:
//arr3 += ("manufacturer" to "Weyland-Yutani")
Run Code Online (Sandbox Code Playgroud)
但是,我无法找到如何修改或添加新的键值对:
arr3["manufacturer"] = "Seegson" // gives an error( Kotlin: No set method providing array access)
arr3["manufacturer"] to "Seegson" // compiles, but nothing is added to the array
Run Code Online (Sandbox Code Playgroud)
你能详细说明怎么做吗?
我想在Kotlin中编写一个匿名的lambda函数,但它看起来并没有将参数传递给它.(它根本没有传递,因为IDE暗示" 永远不会使用 " 变量'name'.)
码:
var name = "Tobias Boon"
println("reverse=" + fun(name: String): String {
var t: String = ""
for(i in name.indices.last downTo 1) {
t += text.subSequence(i - 1, i)
}
return t
})
Run Code Online (Sandbox Code Playgroud)
目前打印: reverse=(kotlin.String) -> kotlin.String