一 概念
- 无参数的环境 :
val/var 变量名 = { 操纵的代码 }
- 有参数的环境
val/var 变量名 : (参数的类型,参数类型,…) -> 返回值类型 = {参数1,参数2,… -> 操纵参数的代码 }
可等价于
// 此种写法:即表达式的返回值类型会根据操纵的代码自推导出来。
val/var 变量名 = { 参数1 : 类型,参数2 : 类型, … -> 操纵参数的代码 }
- lambda表达式作为函数中的参数的时候,这里举一个例子:
fun test(a : Int, 参数名 : (参数1 : 类型,参数2 : 类型, … ) -> 表达式返回类型){
…
}
二 lambda 语法结构
1 语法结构
{ 参数列表 -> 函数体 }
2 示例
示例:{ x: Int, y: Int -> x + y }
{a1:Int,b1:Int->a1+b1}
三 函数类型语法结构
(Int, Int) -> Int 表示接收两个 Int 参数并返回 Int 的函数类型;
(String) -> Unit 表示接收 String 参数且无返回值的函数类型156。
三 匿名函数的根本定义
1 无名称的函数
匿名函数使用 fun 关键字定义,但没有函数名。比方:
val add = fun(x: Int, y: Int): Int { return x + y }
单表达式简化
当函数体是单一表达式时,可省略大括号和返回类型声明:
val add = fun(x: Int, y: Int) = x + y
四 匿名函数和lambda表达式的关系
1 匿名函数:通过 fun 关键字显式定义参数和返回值类型,适合复杂逻辑。
val sum = fun(a: Int, b: Int): Int { return a + b }
2 Lambda 表达式:是匿名函数的语法糖,省略了 fun 关键字,适合简洁场景。
val sum = { a: Int, b: Int -> a + b }
四 总结
• Lambda 表达式是 Kotlin 函数式编程的焦点,提供简洁的匿名函数写法。
• 实用于:集合操纵、事件回调、DSL 构建等场景。
• 焦点规则:{ 参数 -> 函数体 },支持类型推断和简化语法。
参考
https://www.cnblogs.com/Jetictors/p/8647888.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |