尾随lambda语法(Kotlin)的目的是什么?

时间:2019-02-01 21:46:44

标签: lambda kotlin fold

Passing a lambda to the last parameter

  

在Kotlin中,有一个约定,即如果a的最后一个参数   函数接受一个函数,即作为   相应的参数可以放在括号之外:

val product = items.fold(1) { acc, e -> acc * e }

此语法的目的是什么?

1 个答案:

答案 0 :(得分:1)

此语法赋予Kotlin强大的DSL功能,它使功能看起来像语言构造。例如:

with(car) {
   startUp()
   goToDestination()
}

with似乎是语言构造,而它是一个简单函数,将lambda作为最后一个参数。