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(_)
。