scala模式匹配-基础使用1.2

27 阅读1分钟

math case 高阶匹配

1.匹配元组不同的元素数量

package matchcase

/**
 * math case 高阶匹配
 * 1.匹配元组不同的元素数量
 */
object case03 {

  def main(args: Array[String]): Unit = {
   //元组
    val t1=(2,3)

    t1 match {
      case (a,b) => println(s"有二个元素${a},${b}")

      case _=>println("未知")
    }

    }
}

结果

image.png

2.匹配数组特殊值

package matchcase

/**
 * math case 高阶匹配
 * 1.匹配元组不同的元素数量
 * 2.匹配数组特殊值
 */
object case03 {

  def main(args: Array[String]): Unit = {
   //元组
    val t1=(2,3)

    t1 match {
      case (a,b) => println(s"有二个元素${a},${b}")

      case _=>println("未知")
    }

    val arr1 = Array(10,2)

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

结果

image.png