47.中缀表达式

1.写法

fun main(args: Array) {
    val p = Person()
    
    p sayHelloTo "李四"
}

class Person {
    infix fun sayHelloTo(name: String) {
        println("你好$name")
    }
}
  • infix : 中缀表达式,让代码更加简介易懂
  • 中缀表达式自定义一些操作符
    kotlin独有的数据类型 区间 元组 (二元 三元):
val pair = "张三" to 20
  • 上面代码声明了一个二元组,我们看下to的源码如下:
    public infix fun A.to(that: B): Pair = Pair(this, that)
  • 实际上是一个中缀表达式的函数

2.使用中缀表达式的条件如下:

  1. 必须是成员函数或者扩展函数
  2. 必须只有一个参数
  3. 参数不能是可变参数或者默认参数

你可能感兴趣的:(47.中缀表达式)