版权声明:转载请注明出处 https://blog.csdn.net/woxinqidai/article/details/82763801
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