匹配数组、元组

来源:互联网 发布:大连华天软件 编辑:程序博客网 时间:2024/06/05 15:59
package cn.itcast.cases    object CaseDemo extends App{    val arr = Array(1, 3, 5arr match {    case Array(1, x, y) => println(x + " " + y)    case Array(0) => println("only 0")    case Array(0, _*) => println("0 ...")    case _ => println("something else")  }    val lst = List(3, -1lst match {    case 0 :: Nil => println("only 0")    case x :: y :: Nil => println(s"x: $x y: $y")    case 0 :: tail => println("0 ...")    case _ => println("something else")  }    val tup = (2, 3, 7tup match {    case (1, x, y) => println(s"1, $x , $y")    case (_, z, 5) => println(z)    case  _ => println("else")  }}
 

注意:在Scala中列表要么为空(Nil表示空列表)要么是一个head元素加上一个tail列表。

9 :: List(5, 2)  :: 操作符是将给定的头和尾创建一个新的列表

注意:: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于9 :: (5 :: (2 :: Nil))

原创粉丝点击