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

Ger*_*csy 0 lambda anonymous-function parameter-passing kotlin

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

Ing*_*gel 5

你永远不会用参数调用函数,它应该是

val name = "Tobias Boon"
println("reverse=" + fun(name: String) : String {
   ...
      return t
}(name))
Run Code Online (Sandbox Code Playgroud)

顺便说一句,您的特定示例已在标准库中实现:

println(name.reversed())
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,那是我在找!"name.reversed()"你用这个拖着我吗?:) (2认同)