scala模式匹配-基础使用1.0

32 阅读1分钟

我们今天接到一个开发任务,就是根据身份证号码,输出这个人的籍贯。例如:42表示湖北,33表示浙江,11表示北京,31表示上海。

if else格式

image.png

match case的基本格式

image.png

执行流程是:如果value匹配到了pattern1,就执行结果1,如果都没有匹配到,就执行 _ 对应的内容。

package matchcase
/**
 * 三大结构
 * 1. 顺序结构:
 * 2. 选择结构:
 *    (1) if, if else if else;
 *    (2) match case
 * 3. 循环结构:
 *    (2) for,
 *    (3) while, do...while
 */
object case01 {
  def main(args: Array[String]): Unit = {
      val code = "11"
      // var province = ""
      //
      // if(code == "42"){
      //   province = "湖北"
      // } else if(code == "11") {
      //   province = "北京"
      // } else {
      //   province = "未知"
      // }

      val province = code match {
        case "42" => "湖北"
        case "11" => "北京"
        case _ => "未知"
      }

      println(s"$code 对应的省份是: $province")
    }
}