模式匹配是scala非常有特色的非常强大的一种功能,模式匹配骑士类似于Java中的swich case 语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理.
但是scala中的模式匹配功能要强大的多,Java中的swich case 语法只能对值匹配,但是scala中的模式匹配除了可以对值进行匹配,还可以对类型进行匹配,对Array和LIst的元素情况进行匹配,对case class进行匹配,甚至对有值或没值进行匹配.
模式匹配
scala中match case语法即模式匹配.
scala的match case与Java的swich case最大的不同就是swich case仅匹配变量的值,而scala的match case可以匹配各种情况,比如变量的类型,集合的元素,有值或无值
语法:match {case 值 => 代码}
如果值为下划线则代表不满足以上所有情况下的默认情况如何处理.
match case 中只要满足一个case分支就不会继续判断CIA一个case分支了
match case最基本语法:对值进行模式匹配
// 案例:成绩评价
def judgeGrade(grade: String) {
grade match {
case "A" => println("Excellent")
case "B" => println("Good")
case "C" => println("Just so so")
case _ => println("you need work harder")
}
}