我最近一直在为我的 Android 项目转向 Kotlin,但在理解 Lambdas 时遇到了问题。当我们将 Java 文件转换为 Kotlin 文件时,我们会看到许多 lambda 表达式。
何时以及如何使用 lambda 函数?另外,高阶函数和 lambda 函数/表达式有什么区别?
专门针对 Android 的回答会很有帮助。
最佳答案
When and how should one exactly use a lambda function? Also, what is the difference between a higher order function and a lambda function/expression?
lambda 是一个匿名函数。它允许您在不命名函数的情况下编写函数。
higher-order 函数是将另一个函数作为参数的函数(通常作为 lambda 传递)或返回一个作为结果。
很难告诉您什么时候真正应该使用 lambda。如前所述,高阶函数可能是主要用例。这是将“应该做什么”传递给另一个函数的好方法。许多标准功能确实使用它。一个简单的例子是集合上的 forEach
:
listOf(1,2,3).forEach{
//tell what to do with each element in this lambda
}
关于android - Kotlin : When and How Should One Use Lambda Expressions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47110879/