//负号:逆变.方法的输入,用-修饰,是scala中的一种泛型, //正号:协变.方法的输出,用+修饰
是scala中的一种泛型
在trait中定义的方法,参数列表为逆变,方法返回的数据类型为协变
package com.doit.scala.yinshizhuanhuan
//负号:逆变.方法的输入
//正号:协变.方法的输出
trait Function1[-A,+B] {
def test(a:A):B
}
object Func1Test{
def main(args: Array[String]): Unit = {
val f = new Function1[Char,Int] {
override def test(a: Char): Int = {
a.toInt
}
}
println(f.test('a'))
}
}
偏函数
偏函数使用在匹配类型中,继承了用逆变,协变为泛型的接口来限定数据类型
package com.doit.scala.yinshizhuanhuan
object PartialFuncDemo {
def func1: PartialFunction[String,Int]={
case "one" => 1
case "two" => 2
case _ => -1
}
def main(args: Array[String]): Unit = {
println(func1("one"))
}
}