运算符功能

Kotlin 允许我们为具有固定符号表示(如+*)和固定优先级的预定义运算符集提供实现。为了实现运算符,我们为相应的类型提供具有固定名称的成员函数或扩展函数。需要使用 operator 修饰符标记重载运算符的函数:

data class IntListWrapper (val wrapped: List<Int>) {
    operator fun get(position: Int): Int = wrapped[position]
}

val a = IntListWrapper(listOf(1, 2, 3))
a[1] // == 2

这里可以找到更多的运算符功能