Passing a lambda to the last parameter
在Kotlin中,有一个约定,即如果a的最后一个参数 函数接受一个函数,即作为 相应的参数可以放在括号之外:
val product = items.fold(1) { acc, e -> acc * e }
此语法的目的是什么?
答案 0 :(得分:1)
此语法赋予Kotlin强大的DSL功能,它使功能看起来像语言构造。例如:
with(car) {
startUp()
goToDestination()
}
with
似乎是语言构造,而它是一个简单函数,将lambda作为最后一个参数。