扩展属性

与扩展函数类似,Kotlin还支持扩展属性:

val <T> List<T>.lastIndex: Int
    get() = size - 1

需要注意的是,扩展并不会添加成员变量到类中,所以并没有一种很有效的方式使扩展属性拥有一个backing field。这就是为什么初始化函数不能有扩展属性。它们的行为必须是显示的提供getter/setter。

val Foo.bar = 1 // 这是错误的语法

必须按照第一个例子的方式进行定义。

results matching ""

    No results matching ""