在Scala的模式匹配中,可以使用类型、通配符、序列、正则表达式,甚至可以深入获取对象的状态。这种对象状态的获取遵循一定的协议,也就是对象内部状态的可见性由该类型的实现来控制,这样我们就可以获取暴露的状态并应用于变量中。对象的获取往往被称为“提取”或者“解构”。
1、简单匹配
简单匹配有点类似Java中的Switch语句,会匹配每一个确定的值。具体如下:
def match_boolean(): Unit ={
val bools = Seq(true,false)
for(bool <- bools){
bool match {
case true => println("Got heads")
case false => println("Got tails")
}
}
}
在上述代码中,首先创建了一个序列,针对每一个元素使用match匹配,其匹配可能性只存在true和false两种情况。这与大多数语言的模式匹配是一致的,当然一般开发中的匹配是比较复杂的,上述代码只是作为实例代码而已。