1. 程式人生 > >Scalad的樣例類

Scalad的樣例類

在Scala中樣例類是一中特殊的類,可用於模式匹配。case class是多例的,後面要跟構造引數,case object是單例的

package pricate.超類
import Scala_2019_01_04Match.{CheckTimeOutTask, HearBeat, SubmitTask}
import scala.util.Random
//在Scala中樣類是一種特殊的類,可用於模式匹配。case Class是多例的,
// 後面要跟構造引數,case object是單例的
case class SubmitTask(id:String,name:String)
case class HeartBeat(time:Long)
case object CheckTimeOutTask
object CaseDemo4 extends App{
  val arr=Array(CheckTimeOutTask,HearBeat(1234),SubmitTask("001","task-0001"))
  arr(Random.nextInt(arr.length)) match{
    case SubmitTask(id,name) =>{
      println(s"$id,$name") //前面需要加上s,$id直接去id的值
    }
    case HearBeat(time)=> {
      println(time)
    }
    case CheckTimeOutTask=>{
      println("check")
    }
  }
}