Kotlin 里面的run,let,also,apply 就像图片中的木头铲子一样非常相似,有些时候我们不太清楚实战中应该使用哪一个标准函数,下面我们举一些例子来说明它们的区别。
开始
咱们先看 run{} 标准函数最简单的一个用法:
fun world() {
var mood = "I am sad"
run {
val mood = "I am happy"
println(mood) // I am happy
}
println(mood) //I am sad
}
在 world 这个函数里面,你可以有一个单独的范围,重新定义mood。
来一个比较抽象的解释:你在这个世界每天要面对烦心的事情,心情比较沮丧(sad),但是你只要回到家里没有外界的干扰,心情就很美丽(happy),run {} 就好比你的家一样,是隔离外界的一个范围。
但是这个范围貌似没有太大的卵用,除了这个范围,还有没有其他的好处嘞?
//通常写法
if (first) {
view1.show()
} else {
view2.show()
}
//run 写法
run