温馨提示:本文最后更新于
2025-11-28 10:54:51,某些文章具有时效性,若有错误或已失效,请在下方留言。将函数赋值给一个变量,它就变为一个函数字面量。Kotlin 提供了两种类型的函数字面量。
- Lambda 表达式
- 匿名函数
基本介绍
语法
lambda 表达式通常与高阶函数一起使用,为这些函数提供自定义行为。
lambda 表达式的语法如下
val lambda: (DataType1, DataType2) -> ReturnType = { variable1: DataType1, variable2: DataType2 -> methodBody }
执行
lambda 表达式的执行有两种方式
- 在变量名称的后边加
() - 调用
invoke()函数
// Lambda 表达式的定义
val printGreeting = { println("Hello, Kotlin!") }
// 调用 Lambda 表达式
printGreeting()
printGreeting.invoke()
Lambda 表达式类型
有参数有返回值
val add: (Int, Int) -> Int = {a, b -> a + b}
println(add(5, 3))
add.invoke(5, 3)
有参数无返回值
// Unit 跟 java 的 void 一样,表示无返回值
val add: (Int, Int) -> Unit = { a, b -> println(a + b) }
add(1, 2)
无参数有返回值
val add: () -> String = { "Hello, World!"}
println(add.invoke())
无参数无返回值
// Unit 跟 java 的 void 一样,表示无返回值
val add: () -> Unit = { println("Hello, Kotlin!") }
add()
直接使用 Lambda 表达式
println({a: Int, b: Int -> a + b}(1, 2))
© 版权声明
THE END













暂无评论内容