// 只要一个case分支满足并处理了,就不会继续判断下一个case分支// 如果值为下划线,则代表了不满足以上所有情况下的默认情况如何处理
val grade = "A"
val name = "Leo"
grade match {
case"A" => println("Excellent")
case"B" => println("Good")
// 支持if守卫,进行双重过滤case"C"if name == "leo" => println("Just so so")
case _ => println("you need work harder")
}
匹配类型
def processException(e: Exception) {
e match {
case e1: IllegalArgumentException => println("")
case _: Exception => println("" )
}
}
classPersoncaseclassStudent(name: String, classroom: String)extendsPersondef judgeIdentify(p: Person) {
p match {
case Student(name, classroom) => println("Student, name is " + name + ", classroom is " + classroom)
case _ => println("Illegal access, please go out of the school!")
}
}
// 使用
judgeIdentify(Student("Leo", "cl"))