1.基本语法
①case _ :默认匹配
②如果没有匹配到任何case,则会抛出异常scala.MatchError
③=>后如果有多个语句,可以加大括号,也可不加
④模式匹配可以有返回值
def main(args: Array[String]): Unit = { val n1 = 7 val n2 = 8 val ch = '+' val res = ch match { case '+' => n1 + n2 case '-' => n1 - n2 case _ => println("sorry") println("没有匹配到") } println(res) }
2.条件守卫,if后的括号可以省略
def main(args: Array[String]): Unit = { val num = 8 num match { case _ if num < 5 => println("小于5") case _ if num > 5 => println("大于5") case _ => println("default") } }
3.match中的变量
def main(args: Array[String]): Unit = { val name = "mo" name match { //将name的值赋给myName,此时这个case一定会匹配到 case myName => println(myName) } }