Scala中提供了内置的模式匹配机制,一个简单的示例:
object MatchTest1 extends App {
def matchTest(x: Int): String = x match {
case 1 => "one"
case 2 => "two"
case _ => "many"
}
println(matchTest(3))
}
case 代码块提供了一个从int到string的映射,其中_代表任意值。第二个示例:
object MatchTest2 extends App {
def matchTest(x: Any): Any = x match {
case 1 => "one"
case "two" => 2
case y: Int => "scala.Int"
}
println(matchTest("two"))
}
在这个示例中, 我们要匹配的数据是任意类型,并且返回的类型也是Any。