我可以在没有`this`的情况下在自己的class级中应用中缀函数吗?
在Kotlin,我们有中缀
例如,当我们有
fun Int.test(value: Int) {}
我们可以用
1.test(2)
而当我们把中缀
infix fun Int.test(value: Int) {}
我们可以使用as
1 test 2
对于一个class级,下面是可以的
class myclass { fun main() { test(1) } fun test(value: Int) {} }
但用中缀下面是不行的
class myclass { fun main() { test 1 } infix fun test(value: Int) {} }
显然,它必须有
class myclass { fun main() { this test 1 } infix fun test(value: Int) {} }
我可以忽略this
,因为test
是在class级内部进行的。
不能省略,使用中infix
函数时总是需要一个左操作数,这就是你的情况:
“ receiver functionName parameter
”
这是没有办法的。