26.Scala中模式匹配入门实战详解

来源:互联网 发布:uplay有mac版本吗 编辑:程序博客网 时间:2024/05/16 08:10
 val data = 2    data match{      case 1 => println("First")  //"=>"函数的定义和实现的方式,即=>左侧可以是变量,也可以是条件表达式  =>右侧可以做所有以前讲过的函数的实现,若语句多可以用花括号{}      case 2 => println("Second")   //和Java或者C++的switch ... case比起来,并不需要break      case _ => println("Not known Number")  //_代表所有其他情况    }   //输出:Second val result = data match{      case i if i == 1 => "the first"   //i是常量 val i : Int ,在data传入后,就被赋值了      case number if number == 2 => "the second " + number  //number是常量 val number : Int ,还可以使用这个变量      case _ => "not known number"    }    println(result)  //输出 : the second 2        "spark !" foreach{ c => println(   //c : char        c match {          case ' ' => "space"          case ch  => "char : " + ch        }    )}

输出:

char : s
char : p
char : a
char : r
char : k
space
char : !


参考资料来源于 DT大数据梦工厂Scala零基础实战经典第26课 由王家林老师讲解