小编Ger*_*csy的帖子

箭头(" - >")操作符在Kotlin中做了什么?

可能有点广泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体.

最明显的用法是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中箭头操作符有一般含义吗?

operators kotlin

31
推荐指数
3
解决办法
1万
查看次数

Kotlin基础:如何添加或设置Map的元素?

我想添加/设置具有特定键值对的可变映射的元素.到目前为止,我发现我可以使用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)

你能详细说明怎么做吗?

arrays kotlin mutablemap

9
推荐指数
2
解决办法
7648
查看次数

如何在Kotlin中将参数传递给匿名lambda函数?

我想在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

lambda anonymous-function parameter-passing kotlin

0
推荐指数
1
解决办法
487
查看次数