55.Scala中Infix Type实战详解

本文详细探讨Scala的Infix Type特性,它允许定义2参数的类型,如在Spark和Hadoop中处理数据时,对于多参数的数据结构如List(A, B),中值类型能更方便地提取值。在Spark的case class或case object中,尤其在传递多参数信息时,中值类型的应用显著提升代码可读性。" 122777280,10857249,PAT乙级试题:旧键盘输入问题,"['编程竞赛', 'C++编程', '算法问题', '字符串处理', '编程题解析']
摘要由CSDN通过智能技术生成

中值类型:允许带有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!!!")
    }
	
	
  }
}
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值