使用 infix 关键字修饰的函数,就是一个中缀表达式,使用起来就是一个运算符,更接近自然语言便于阅读。写法要求如下:
- 只能有一个参数(不能是可变参数、不能有默认参数)
- 必须是成员函数或扩展函数
//成员函数实现方式
class Demo {
var sum = 10
infix fun addNum(num: Int): Int {
sum += num
return sum
}
}
//扩展函数实现方式
infix fun String.addChar(char: Char): String = this.plus(char)
//使用
val demo = Demo()
demo addNum 5
println(demo.sum) //打印:15
println("123" addChar 'a' ) //打印:123a