Scala模式匹配Scala类型系统Spark源码阅读
val map = Map(3 -> “a”, 4 -> “b”)
map.get(3) match {
case Some(x) => x
case Nome
}
十二:偏函数
被包在花括号内的一组case语句是一个偏函数。
偏函数是一个并非对所有输入值都有定义的函数,是PartialFunction[A, B]类的一个实例,其中A是参数类型,B是返回类型。该类有两个方法:apply方法从匹配的模式计算函数值;isDefinedAt方法在输入至少匹配其中一个模式时返回true。
val f: PartialFunction[Char, Int] = { case '+' => 1; case '-' => -1 }
f('-') // 返回-1
f.isDefinedAt('0') // false
f('0') //抛出MatchError