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