Lambda 表达式

Lambda 表达式

温馨提示:本文最后更新于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
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容