在 Kotlin 中是否可以添加运算符重载扩展函数?

7
我理解您的意思是这样的:

我指的是像这样的东西:

fun operator Table.get(column_name: String) = this.column(column_name)
// Currently gives an error: "Expecting a top level declaration"

Table实例当前的使用方式是: table.column("column_name")

我希望它的使用方式变为:table["column_name"]

1个回答

9

这是可以实现的,只需要在声明中把 operator 关键字放在 fun 关键字之前即可(其他修饰符如 infix, inline 等也是同样需要放在前面):

operator fun Table.get(column_name: String) = this.column(column_name)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接