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)
val Array(x, y, z, _*) = arr
println(x, y, z)
}
}
```