4,5,6

12 阅读1分钟
  def matchArray(arr:Any):Unit = {
    arr match{
      case Array(x,y) => println("匹配到有两个元素的数组")
      case Array(1,b,c) => println("匹配到有三个元素的数组,第一个元素是1")
      case Array(a,b,c) => println("匹配到有三个元素的数组",a,b,c)
      case Array(10,_*) => println("第一个元素是10,元素的个数有任意个")
      case _ => println("没有匹配到")
    }
  }
  def main(args:Array[String]):Unit={
    val arr1 = Array(1,2,3)
    val arr2 = Array(2,2,3)
    val arr3 = Array(10,2,3,1)
    matchArray(arr1)
    matchArray(arr2)
    matchArray(arr3)
  }
}


object matchase05 {
  case class Circle(r:Double)
  case Rectangle(w:Double,h:Double)
  def calculateArea(shape:Any):Unit = {
    shape match{
      case Circle(r) => 3.14 * r * r
      case Rectangle(w,h) => w * h
    }
  }
  def main(args:Array[String]):Unit={
    val circle =Circle(2.0)
    val arr2 = Array(2,2,3)

  }
}
```
```



`
object matchase06 {
  def main(args: Array[String]): Unit = {
    val arr = Array(11, 22, 33, 4, 5)
    // 定义3个变量: x,y,z 保存数组中的前三个元素的值
    //      val x = arr(0)
    //      val y = arr(1)
    //      val z = arr(2)

    val Array(x, y, z, _*) = arr
    println(x, y, z)
  }
}
```