Scala中的模式匹配
Scala模式匹配
Scala模式匹配是一种常用的功能,Scala语言对此功能具有巨大的支持。Scala中的模式匹配与Java或另一种编程语言中的开关相同。
匹配模式包含要考虑的模式的替代序列。每个序列都是Scala模式匹配的情况。对于所有替代方案,案例都有针对匹配模式匹配进行评估的表达式。箭头符号“=>”用作模式和表达式之间的分隔符。
该匹配关键字被用于定义一个图案匹配块。该块包含的情况使得如果匹配将执行一组表达式(代码块)。
在模式匹配中,必须至少有一种情况(也称为替代),其总和值可以匹配输入模式。如果没有关键字匹配,那么最后catch-all(_)执行情况。找到匹配项后评估的表达式实际上是需要评估的块代码。对于模式匹配功能,可以根据第一个匹配策略对任何类型的数据进行匹配(对于您所匹配的情况,将使用第一个)。
示例
object Demo {
def matchno(x: Int): String = x match {
case 1 => "Hello"
case 2 => "Welcome"
case _ => "to Scala "
}
def main(args: Array[String]) {
println(matchno(3))
}
}输出结果
to Scala
代码说明:
上面的代码将打印到Scala,因为数字3与匹配模式函数的默认值匹配。函数三个值,匹配情况1,2和default(_)。