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

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

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

正如你所看到的, ab是在lambda中命名的。 我认为这可能是一个IDE的真正有用的信息,生成填充参数名称的lambdas ..但至少与IntelliJ的功能要么不存在,要么以我不知道的方式工作。

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

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

在这里输入图像描述

然后TabEnter ,你将得到在example定义中声明了参数名称的lambda:

在这里输入图像描述

此外,请参阅此问题: 使用命名的高阶函数参数

Interesting Posts