基本类型模式匹配
val name ="bb"
name match {
case "aa" => {}
case _ if(name === "list") => {}
case _ => {}
}
数组匹配
val name = Array("aa","bb")
name match {
case Array("aa") => {}
case Array(x,y) => {}
case Array("aa",_*) => {}
case _ => {}
}
List匹配
val name = List("aa","bb")
name match {
case "aa"::Nil => {}
case x::y::Nil => {}
case "aa":tail => {}
case _ => {}
}
类型匹配
val name = 1
name match {
case x:Int => {}
case s:String => {}
case m:Map[_,_] => {}
case _ => {}
}
case匹配
def caseClassMathc(person:Person): Unit ={
person match {
case CTO(name) => println()
}
}
class Person
case class CTO(name: String)
Some | None匹配
val grades = Map("1" -> 2, "3" -> 4)
def getGrade(name:String): Unit = {
val grade = grades.get(name)
grade match {
case Some(grade) => println()
case None => println()
}
}
网友评论