偏函數(shù)和一般函數(shù)的區(qū)別在與偏函數(shù)并不是處理所有的輸入粱胜,而僅僅只處理與至少一個(gè)case匹配的輸入视译。
偏函數(shù)的定義有一些要求:
1.只能使用case語(yǔ)句
2.整個(gè)函數(shù)必須用花括號(hào)括起來(lái)
val f1:PartialFunction[Any,String] = {
case a:String=>"yes"
}
代碼段的含義:偏函數(shù)(PartialFunction)f1的傳參類(lèi)型是Any,返回類(lèi)型String。
當(dāng)傳入?yún)?shù)是string類(lèi)型時(shí),則返回yes私沮。如果傳入?yún)?shù)是其他類(lèi)型,則會(huì)拋出MatchError異常和橙。
println(f1("hello"))
正確的匹配
println(f1(1))
MatchError