package test34
object test6 {
case class Person(name:String)
case class Student(name:String, className:String)
// match case 能根据 类名和属性的信息,匹配到对应的类
// 注意:
// 1 匹配的时候,case class的属性个数要对上
// 2 属性名不需要一一对应
def main(args: Array[String]): Unit = {
val p1 = Persom("小花")
val s1 = Student("小明","2(3)班")
val a:Any = p1
a match {
case Person(nm) => println("普通人类", nm)
case Student(name.className) => println(className,"的学生", name)
case _ => println("其他")
}
}
}
object test7 {
// 需求:现在有一个数组Array(1,2,3,4),我希望能定义三个变量,它们的值分别是数组中的第1,2,3个元素的值
def main(args: Array[String]): Unit = {
val arr = Array(1,2,3,4,5)
// 第一个元素的值: arr(0)
// println(arr(0))
// var x = arr(0)
// var y = arr(1)
// var z = arr(2)
// println(x,y,z)
// 有一个更简单的方式
// 模式匹配
var Array(x,y,z. _*) = arr
println(x)
println(y)
println(z)
}
}