中值类型:允许带有2个参数的类型
object Infix_Types_55 {
def main(args: Array[String]): Unit = {
//7
object Log {def >>: (data : String) : Log.type = {println(data); Log}} //<<: 是方法名,返回了Log实例的类型,使其可以使用链式表达式
"Hadoop" >>: "Spark" >>: Log //在scala中,表达式都是方法
//7
val list = List()
val newList = "A" :: "B" :: list //右结合的中值表达式
println(newList)
//7
class Infix_Type[A, B] //带有2个类型参数的类型,以中值的语法来表示
//以下这两种表达方式等价,第一种更具有阅读性
val infix : Int Infix_Type String = null
val infix1 : Infix_Type[Int, String] = null
//7
case class Cons(first : String , second : String)
val case_class = Cons("one", "two")
case_class match{
case "one" Cons "two" => println("Spark!!!")
}
}
}
<