package cn.yzx.spark.scala.helloworld
class DataFrameWork
case class ComputationFrameWork(name:String,popular:Boolean) extends DataFrameWork
case class StorageFrameWork(name:String,popular:Boolean) extends DataFrameWork
object PatternMatch {
def main(args: Array[String]): Unit = {
getSalary("dyu",11)
getMatchType(100.1)
getMatchCollection(Array("Scala"))
getBigDatatype(ComputationFrameWork("Spark",true))
getBigDatatype(ComputationFrameWork("Spark",false))
getValue("Spark",Map("Spark" ->"The hottest","Hadoop"->"The old"))
}
def getSalary(name:String,age:Int){
name match {
case "Spark" => println("good")
case "Hadoop" => println("nice")
case _ if name == "Scala" => println("Scala")
case _name if age>10 => println(_name+" "+age)
case _ =>println("what?")
}
}
def getMatchType(msg:Any){
msg match {
case i:Int => println("Int")
case s:String => println("String")
case d:Double => println("Double")
case array :Array[Int] =>println("array")
case _ => println("Unkown type")
}
}
def getMatchCollection(msg:Any){
msg match {
case Array("Scala") => println("Scala")
case Array("Scala","java") => println("Scala"+"java")
case Array("Scala",_*) => println("-* ")
case _ => println("Unkown type")
}
}
def getBigDatatype(data:DataFrameWork){
data match {
case ComputationFrameWork(name,popular) => println("ComputationFrameWork name : "+name+" pupular : "+popular)
case StorageFrameWork(name,popular) => println("StorageFrameWork name : "+name+" pupular : "+popular)
case _ =>println("some others")
}
}
def getValue(key :String,content:Map[String,String]){
content.get(key) match{
case Some(value) =>println(value)
case None =>println("Not Found")
}
}
}
Scala学习之模式匹配
最新推荐文章于 2020-11-14 09:44:02 发布