Kotlin:用于命名的lambda参数是什么?

时间:2016-12-26 08:42:50

标签: lambda kotlin anonymous-function named-parameters named

在Kotlin中,可以在其定义中给出lambda参数名称。

fun example(lambda: (a: Int, b: Int) -> Int)

如您所见,ab在lambda中命名。我认为这对于IDE来说可能是非常有用的信息,生成带有参数名称填充的lambda ...但至少对于IntelliJ,该功能要么不存在,要么以我不知道的方式工作。

那么,命名的lambda参数的用途是什么?他们是否以某种方式改变了编译输出?你有没有可以使用它们的技巧?

1 个答案:

答案 0 :(得分:11)

目前,没有语言功能使用这些名称,据我所知,唯一能做的就是IDE插件生成lambda模板:

enter image description here

然后 Tab 输入,您将获得带有example定义中声明的参数名称的lambda:

enter image description here

此外,请参阅此问题:Make use of named higher order function parameters