首页 > 代码库 > Scala中的match(模式匹配)
Scala中的match(模式匹配)
文章来自:http://www.cnblogs.com/hark0623/p/4196261.html 转载请注明
代码如下:
/** * 模式匹配 */case class Class1(param1: String, param2: String)case class Class2(param1: String)object Case { def main(args: Array[String]) { //通过模式匹配进行条件判断 val test1: String = "1" val result1 = test1 match { case "1" => { "one" } case "2" => "two" case _ => "other" } println(result1) //通过模式匹配进行条件判断,可自定义条件 val test2: Int = 1; val result2 = test2 match { case i if i + 1 == 2 => "one" case i if i + 1 == 3 => "tow" case _ => "error" } println(result2) //通过模式匹配进行类型条件判断 val t3 = 1 println(Test3(t3)) //通过模式匹配进行类型条件判断 val t4 = "1" println(Test3((t4))) //通过模式匹配进行类的判断与执行 val test5 = Class1("1", "2") ClassMatch(test5) val test6 = Class2("3") ClassMatch(test6) } def ClassMatch(classTest: Any): Unit = { classTest match { case Class1(param1, param2) => { println("Class1:" + param1 + "_" + param2) } case Class2(param1) => { println("Class2:" + param1) } case _ => println("error") } } def Test3(data: Any): String = { data match { case x: Int => "Int" case x: String => "String" case _ => "unkown" } }}
输出如下:
oneoneIntStringClass1:1_2Class2:3
Scala中的match(模式匹配)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。