模式匹配
简单的匹配模式
def macth1
(a
: Int):Unit={
a
match {
case 1=>println
("aaa")
case 2=>println
("bbb")
case _
=>println
("ccc")
}
}
对Array数组进行模式匹配
def match2
(arr
:Array
[String])= arr
match {
case Array
("张三")=>println
("hello,张三")
case Array
(name1
,name2
,name3
)=>println
("hello,"+name1
+","+name2
+","+name3
)
case Array
("李四",_
*)=>println
("hello 李四*")
case _
=>println
("你们是谁?")
}
var arr
=Array
("张三","李四","王五","老六")
var arr2
=Array
("李四")
var arr3
=Array
("张三","李四","王五")
var arr4
=Array
("老六","张三","李四","王五")
match2
(arr
)
match2
(arr2
)
match2
(arr3
)
match2
(arr4
)
样例类与模式匹配配合使用
class Person
case class aoteman
(name
:String,age
:Int) extends Person
case class huluwa
(name
:String,age
:Int) extends Person
case class duolaAmen
(name
:String,age
:Int) extends Person
case class xiaozhupeiqi
(name
:String,age
:Int) extends Person
def matchTest
(p
:Person
)=p
match {
case p
:aoteman
=>println
(p
.name
+"奥特曼")
case p
:huluwa
=>println
("葫芦娃"+p
.name
)
case p
:duolaAmen
=>println
("哆啦A梦")
case p
:xiaozhupeiqi
=>println
("小猪佩奇")
case _
=>println
("你是什么?")
}
var aa
=aoteman
("迪迦",26)
match3
(aa
)
转载请注明原文地址: https://lol.8miu.com/read-33105.html