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)
}
}