在Kotlin中,可以在其定义中给出lambda参数名称。
fun example(lambda: (a: Int, b: Int) -> Int)
如您所见,a
和b
在lambda中命名。我认为这对于IDE来说可能是非常有用的信息,生成带有参数名称填充的lambda ...但至少对于IntelliJ,该功能要么不存在,要么以我不知道的方式工作。
那么,命名的lambda参数的用途是什么?他们是否以某种方式改变了编译输出?你有没有可以使用它们的技巧?
答案 0 :(得分:11)
目前,没有语言功能使用这些名称,据我所知,唯一能做的就是IDE插件生成lambda模板:
然后 Tab 或输入,您将获得带有example
定义中声明的参数名称的lambda:
此外,请参阅此问题:Make use of named higher order function parameters