是否可以在 Kotlin 中添加运算符重载扩展功能?
Is it possible to add an operator-overloading extension function in Kotlin?
我的意思是这样的:
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"]
这个是可以的,只是声明中operator
关键字已经走在了fun
关键字之前(其他修饰符也是如此,比如infix
、inline
, 等等):
operator fun Table.get(column_name: String) = this.column(column_name)
我的意思是这样的:
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"]
这个是可以的,只是声明中operator
关键字已经走在了fun
关键字之前(其他修饰符也是如此,比如infix
、inline
, 等等):
operator fun Table.get(column_name: String) = this.column(column_name)