Kotlin 前奏 -- Lambda 表达式

4 篇文章 0 订阅
1 篇文章 0 订阅

最近开始自学 Kotlin 了,作为一门简介的语言,我们不仅仅要从语法上开始学习,更应该学会利用其他方式把它的优势发挥到极致,所以首先让我们先了解一下 Lambda 表达式吧。

什么是 Lambda 表达式

Lambda 就是一个匿名函数,而函数其实就是功能( function ),匿名函数,就是匿名的功能代码。具体写法如下:

{ [ 参数列表 ] -> [ 函数体,最后一行是返回值 ] }

比如:

val sum = { a:Int , b: Int -> a + b }

例子中可以看出我们先定义了一个 sum 常量,赋值为一个 Lambda 表达式,它是先用一对大括号括起来,先写下参数名称和参数类型,接着写下「->」,最后写函数体,函数体最后一行的结果就是返回值。

Lambda 的类型表示举例

  • ()-> Unit
    - 无参,返回值为 Unit
  • (Int) -> Int
    - 传入整型,返回一个整形
  • (String,(String -> String))-> Boolean
    - 传入字符串和 Lambda 表达式,返回 Boolean 值

Lambda 表达式的调用

  1. 用 () 进行调用 ;
  2. 等价于 invoke() ;
val sum = {a: Int, b:Int -> a + b}
sum (3,4) // sum.invoke(3,4)

Lambda 表达式的简化

  1. 函数参数调用时最后一个 Lambda 可以移出去
list.forEach({ element -> println(element) })
//等价于
list.forEach() { element -> println(element) }
  1. 函数参数只有一个Lambda,调用时小括号可以省略
list.forEach() { element -> println(element) }
//等价于
list.forEach { element -> println(element) }
  1. Lambda只有一个参数可以默认为 it
list.forEach { element -> println(element) }
//等价于
list.forEach { println(it) }
  1. 入参,返回值和形参一致的函数可以用函数引用的方式作为实参传入
list.forEach { println(it) }
//等价于
list.forEach(::println)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值