Let
lambda后面会有it,返回最后一行的执行结果 (Boolean)
val result1: Boolean = "nihao".let { it.length >= 10 }
apply
lambda后面是this,支持隐式调用,即不需要对象来点,返回this执行后的 this自己 (String)
val result2: String = "nihao".apply {length >= 10 }
run
lambda后面是this,返回最后一行的执行结果 (Boolean)
val result3: Boolean = "nihao".run {length >= 10 }
with
和Run一样,只是由 对象.run 变成了 with(对象)
val result4: Boolean = with("nihao") {length >=10 }
also
also后面是it,返回it自己 (string),和apply一样,只不过apply是this
val result5: String = "nihao".also { it.length >= 10 }
takeif
如果takeif后面是true 返回自己,否则返回null
val result6: String? = "nihao".takeIf {it.length >= 10}?.capitalize() }