内容:
1、Option中的sealed关键字解析
2、Option使用内部实战
如果在定义Option的时候使用sealed (abstract)关键字,那么Case Class 和Case Object必须在同一个包中,这种做法使得用Option的具体子类的Case Class和Case Object进行模式匹配的时候,编译器会帮我们检查所有匹配选项是否都已经列在Case中。
def main(args: Array[String]){
val scores = Map("Alice" -> 99, "Spark" -> 100)
scores.get("Alicde") match {
case Some(score) => println(score)
case None => println("No score")
}
Option的具体子类some 和None的Case Class和Case Object进行模式匹配;此例子中case匹配some有内容,打印score;为None的时候打印“No score”。