( 七 ) 变量声明中的模式匹配****
需求:现在有一个数组Array(1,2,3,4),我希望能定义三个变量,它们的值分别是数组中的第1,2,3个元素的值。
package matchcase
object case06 {
// 1. for 循环中, 做匹配。
def main(args: Array[String]): Unit = {
val m1 = Map(
"马云 - 阿里巴巴" -> 1964,
"张一鸣 - 字节跳动" -> 1983,
"刘强东 - 京东" -> 1974,
"程维 - 滴滴" -> 1983
)
// 请在m1这个Map, 找出所有1983年出生的企业家
for((key,1983) <- m1){
println(key)
}
for((key,value) <- m1){
if(value == 1983)
println(key)
}
// m1.foreach{
// case (key,value)=>{
// if(value == 1983)
// println(key)
// }
// }
}
}
package matchcase
object case07 {
def main(args: Array[String]): Unit = {
//定义一个数组,其中有4个元素
val arr = Array(1, 2, 3, 4)
//需求:补充定义三个变量:x,y,z,分别保持数组arr中的第1,2,3个元素的值
// var x = arr(0)
// var y = arr(1)
// var z = arr(2)
// println("x=" + x + " y=" + y + " z=" + z)
//优化:使用matchCase表达式,完成上述需求
val Array(x, y, z,_*) = arr
println("x=" + x + " y=" + y + " z=" + z)
}
}