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

How to pass arguments to anonymous lambda function in 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
})

当前打印:reverse=(kotlin.String) -> kotlin.String

你从来没有调用带参数的函数,应该是

val name = "Tobias Boon"
println("reverse=" + fun(name: String) : String {
   ...
      return t
}(name))

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

println(name.reversed())