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。