一、中缀表达式(::)
中缀表达式的关键字就是::,下方代码通过match+::进行模式匹配,只有当第一个case条件中的size-1个(即one,two,three,four全部匹配成功)匹配成功,才会执行第一个case语句,并执行println代码,输出第一、第四以及rest处的数据,不然走第二条case语句,输出nihao
List(1,2,3,4,5) match {
case one :: two :: three :: four :: rest => println(one,four,rest)
case _=>println("nihao")
}
结果:
(1,4,List(5))
二、中置操作符
def +(mc:MyClass)={
println(mc.num*num)
}
val mc1 = new MyClass(10)
val mc2 = new MyClass(20)
//mc1.+(mc2)
mc1 + mc2//中置操作符(去点和括号)类似于+重定义
合理运用中置操作符可以简化代码,但是会降低代码的可读性,给其他人的阅读带来难度,慎用!(比如此处的‘’+‘’是一个函数名称,执行的是乘法操作,直接简写成mc1+mc2很可能理解成加法操作)