kotlin中的lef, run, apply ....

run

函数内可通过this引用当前对象; 返回值为最后一行, 可以与当前对象类型不同

"kotlin".run { "hello $this" }
>>> hello kotlin

with

with函数接收两个参数, 一个对象, 一个函数, 函数内可用this引用对象, 返回值为最后一行, 可以与当前对象类型不同

with("kotlin", {"hello $this"})
>>> hello kotlin

apply

函数内可以通过 this引用当前对象, 返回当前对象

mutableListOf<String>().apply( add("1"); add(2);)
>>> ["1", "2"]

also

1.1版本开始, 与apply基本一致, 区别在于函数体内使用 it引用对象

mutableListOf<String>().apply( it.add("1"); it.add(2);)
>>> ["1", "2"]

let

run基本一致, 区别在于函数体内使用it引用对象

"kotlin".let { "hello $it" }
>>> hello kotlin

takeIf

1.1版本开始, 条件判断, 条件成立时, 返回对象自身, 不成立时返回null, 比如可用来截取字符串
str.takeIf {it.length > 20} ?: str.subString(0..20)

"123".takeIf {it.length > 10}
>>> null

takeUnless

1.1版本开始, 条件判断, 与takeIf相反, 条件成立时返回null, 不成立返回自身

"123".takeUnless {it.length > 10}
>>> 123

repeat

循环, 函数体可用it获取下标, 无返回值

repeat(10) {
	println("no.$it")
}
>>> no.0  no.1  no.2 ...

整理自 Standard.kt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值