偏函数和一般函数的区别在与偏函数并不是处理所有的输入,而仅仅只处理与至少一个case匹配的输入。
偏函数的定义有一些要求:
1.只能使用case语句
2.整个函数必须用花括号括起来
val f1:PartialFunction[Any,String] = {
case a:String=>"yes"
}
代码段的含义:偏函数(PartialFunction)f1的传参类型是Any,返回类型String。
当传入参数是string类型时,则返回yes。如果传入参数是其他类型,则会抛出MatchError异常。
println(f1("hello"))
正确的匹配
println(f1(1))
MatchError