定义
public infix fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)
使用
val (number, name) = 1 to "A"
自定义
infix fun <T> T.into(other: Collection<T>): Boolean = other.contains(this)
- 前面的to、into实际上就是函数调用,如果把infix关键字去掉,也就纯粹按照函数调用方式来。比如1.to("A"), element.into(list)等,只有加了中缀调用的关键字infix后,才可以使用简单的中缀调用例如 1 to "A", element into list等
- 并不是所有的函数都能写成中缀调用,中缀调用首先必须满足一个条件就是函数的参数只有一个。然后再看这个函数的参与者是不是只有两个元素,这两个元素可以是两个数,可以是两个对象,可以是集合等。
网友评论