Scala类型匹配

//.匹配
//匹配list集合 Nil关键词
val list = List(1,2,3) //只能是list 不能是listbuffer??
list match {
case 1::tail=>println("以1开头")
case 0::Nil=>println("集合中只有一个0")
case a::b::3::Nil=>println(s"$a,$b",3)
}
//匹配數組
val sz=Array(1,2,3)
sz match {
case Array(1,_*)=>println("數組中有1和其他")
case Array(1,a,b)=>println(s"數組中是1,$a,$b")
case Array(0)=>println("數組中只有0")
}
//元組的匹配
val tulp=(1,2,4)
tulp match { //case后面的个数必须和tulp中的个数一样
case (1,2,b)=>println(s"1,2,$b")
case _=>println("其他")
}
//匹配数组
val arr=Array("chan","ff","uu")
val name=arr(Random.nextInt(arr.length))
name match{
case "chan"=>println("chan")
case "ff"=>println("ff")
case "uu"=>println("uu")
case _=>println("其他")
}
//类型匹配 也是放在数组里面
val lx=Array("jack",10,2.45)
val name2 =lx(Random.nextInt(lx.length))
name2 match {
case a:String=>println(s"$a"+" "+"是String类型")
case b:Int=>println(s"$b"+" "+"是String类型")
case c:Double=>println(s"$c"+" "+"是String类型")
case _=>println("其他")
}
发布了50 篇原创文章 · 获赞 30 · 访问量 7033

猜你喜欢

转载自blog.csdn.net/qq_44472134/article/details/104213577