match case

33 阅读1分钟
object ex03 {
  def main(args: Array[String]): Unit = {
    // val code = "11"
    // var province = ""
    // if(code == "42"){
    //     province = "湖北"
    // } else if(code == "11") {
    //     province = "北京"
    // } else {
    //     province = "未知"
    // }

    val code = "11"
    val province = code match {
      case "42" => "湖北"
      case "11" => "北京"
      case _ => "未知"
    }
    println(s"${code}对应的省份是:${province}")
  }
}
object ex04 {
  /*
  match case 高级匹配
  1. 匹配元组不同的元素的数量
  2. 匹配数组特征值
  */
  def main(args: Array[String]): Unit = {
    // 元组
    val t1 = (1,2)
    t1 match {
      case (a,b) => println(s"有两个元素${a}, ${b}")
      case _ => println("未知")
    }

    val arr1 = Array(10,3)
    arr1 match {
      case Array(1, x, y) => println("数组,第一个元素是1,长度为3")
      case Array(10, x) => println("数组,第一个元素是10,长度为2")
      case _ => println("其他")
    }
  }
}