变量声明中的模式匹配
需求:现在有一个数组Array(1,2,3,4),我希望能定义三个变量,它们的值分别是数组中的第1,2,3个元素的值。
未优化代码:
// 需求: 补充定义的三个变量: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))
// 优化: 使用match case表达式,完成上诉需求
优化后:
// 定义一个数组,其中有四个元素
val arr = Array(11,22,33,4,5,6)
// 需求: 补充定义的三个变量: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))
// 优化: 使用match case表达式,完成上诉需求
val Array(x,y,z,_*) = arr
println(x,y,z)