Kotlin - 匿名函数

Kotlin - 匿名函数 首页 / Kotlin入门教程 / Kotlin - 匿名函数

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

Lambda语法

{ variable -> body_of_function}

在无涯教程谈论Lambda之前,让无涯教程看看使用普通函数添加两个数字的简单示例。

无涯教程网

在此示例中,无涯教程创建一个函数 addNumber()传递两个参数(a,b)调用主函数。

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

输出:

15

上面的程序将使用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函数。在lambda函数中已经给出了mylambda的函数。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出计算机组成原理 -〔徐文浩〕

即时消息技术剖析与实战 -〔袁武林〕

后端技术面试 38 讲 -〔李智慧〕

OAuth 2.0实战课 -〔王新栋〕

体验设计案例课 -〔炒炒〕

操作系统实战45讲 -〔彭东〕

eBPF核心技术与实战 -〔倪朋飞〕

手把手带你写一个MiniSpring -〔郭屹〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

好记忆不如烂笔头。留下您的足迹吧 :)