两个主要区别
- 上下文对象用this 还是 it
- 返回值
上下文对象用this 还是 it
this和it是作用域函数获取对象引用的 短名称, 两者都提供相同的功能
使用this的情况
范围函数: run,with,apply 使用this
在大多数情况下,this访问接收器对象的成员时可以省略,从而使代码更短
比如这个例子就是省略了this
data class Person(var name: String, var age: Int = 0, var city: String = "")
fun main() {
val adam = Person("Adam").apply {
age = 20 // same as this.age = 20 or adam.age = 20
city = "London"
}
}
但是不加this,就不容易区分age、city是来自内部接收器Person 还是 外部成员或功能
大家看下不容易区分的情况
data class Person(va