个性化阅读
专注于IT技术分析

Kotlin Lambda函数

Lambda是一个没有名称的函数。 Lambda用花括号{}定义, 该花括号将变量作为参数(如果有)和函数体。函数体写在变量(如果有)之后, 然后是->运算符。

lambda的语法

{ variable -> body_of_function}

在讨论lambda之前, 让我们看一个使用常规函数将两个数字相加的简单示例。

正常功能:两个数字相加

在此示例中, 我们创建一个函数addNumber(), 该函数传递从主函数调用的两个参数(a, b)。

fun main(args: Array<String>){
    addNumber(5, 10)
}
fun addNumber(a: Int, b: Int){
    val add = a + b
    println(add)
}

输出:

15

Lambda函数:两个数字相加

上面的程序将使用lambda函数重写如下:

fun main(args: Array<String>){
    val myLambda: (Int) -> Unit= {s: Int -> println(s) } //lambda function
    addNumber(5, 10, myLambda)
}
fun addNumber(a: Int, b: Int, mylambda: (Int) -> Unit ){   //high level function lambda as parameter
    val add = a + b
    mylambda(add) // println(add)
}

输出:

15

在上面的程序中, 我们创建了一个lambda表达式{s:Int-> println(s)}, 其返回类型为Unit。在高级函数addNumber(5, 10, myLambda)中, 将lambda函数作为参数填充。函数定义中的变量mylambda实际上是lambda函数。 mylambda的功能(主体)已在lambda函数中给出。

赞(0)
未经允许不得转载:srcmini » Kotlin Lambda函数

评论 抢沙发

评论前必须登录!