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