【发布时间】:2020-05-22 15:51:47
【问题描述】:
我是一名刚接触 kotlin 的 Java 开发人员,下面的语法让我很惊讶:
fun foo(m: String, bar: (m: String) -> Unit) {
bar(m)
}
foo("test") {
println("this is a $it")
}
这里我们看到 lambda 表达式是通过代码块隐式传递的。
这种句法技巧有名称吗?我想更好地理解这一点。
【问题讨论】:
-
您是在谈论它是如何在括号外传递的,还是只是它被传递了?能够完全传递它们就是 lambdas。
-
括号外的事实
-
"Trailing lambda" kotlinlang.org/docs/reference/… 它们使链式函数式编程调用、作用域函数(let、apply、also 等)、协程语法和类型安全构建器的语法都更加简洁。跨度>