中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DT夢工廠 第27講 Type,Array,List,Tuple模式匹配實戰解析

發布時間:2020-07-26 17:14:46 來源:網絡 閱讀:307 作者:mayjune56 欄目:大數據

王家林親授《DT大數據夢工廠》大數據實戰視頻 Scala 深入淺出實戰經典(1-87講)完整視頻、PPT、代碼下載:
百度云盤:http://pan.baidu.com/s/1c0noOt6 
騰訊微云:http://url.cn/TnGbdC 
360云盤:http://yunpan.cn/cQ4c2UALDjSKy 訪問密碼 45e2
土豆:http://www.tudou.com/programs/view/dHz5JKJxurM/
優酷:http://v.youku.com/v_show/id_XMTI4OTcwNzY2MA==.html?from=s1.8-1-1.2
愛奇藝:http://www.iqiyi.com/w_19rru5bi79.html#vfrm=2-3-0-1
騰訊視頻:http://v.qq.com/boke/page/k/0/d/k016008s0rd.html
技術愛好者尤其是大數據愛好者 可以加DT大數據夢工廠的qq群

DT大數據夢工廠① :462923555 
DT大數據夢工廠②:437123764 
DT大數據夢工廠③ :418110145

微信公眾賬號: DT_Spark
王家林老師微信號: 18610086859
王家林老師QQ: 1740415547
王家林老師郵箱: 18610086859@126.com

本視頻由王家林老師, 親自講解, 完全通過代碼實戰把您帶人大數據的時代.

package com.dt.scala.pattern_match

/**
 * @author iken
 * @date 2015-08-29
 */
object PatternMatchMore {
  def main( args : Array[String] ){
    
    /*
     * 1. 對一個未知類型的變量匹配到相應的類型上去
     *    這是如此的高級,模式匹配可以在程序運行的時候,智能判斷出被匹配的內容的類型
     *    注意:Map沒有指定其類型,原因是scala在進行模式匹配時,對于接口和泛型,scala會擦出具體的類型
     *    所以使用了占位符
     */
    def match_type( t : Any ) = t match{
      case p: Int => println("It is a integer!")
      case p: String => println("It is a Integer!")
      case m: Map[_,_] => m.foreach(println)
      case _ =>  println("unknow type!")
    }
    
    match_type(2)
    match_type(Map("Scala" -> "Spark"))
      
    /*
     * 2.對一個未知的數組進行匹配,它可以將數組匹配到具體形式的case上
     *   case1中是說這個數組只有一個元素,而且該元素必須是0
     *   case2中是說這個數組具有兩個任意元素
     *   case3中是說這個數據具有任意多元素,且第一個元素必須是0
     */
    def match_array( arr : Any ) = arr match{
      case Array(0) => println("Array"+"0")
      case Array(x,y) => println("Array "+x+" "+y)
      case Array(0,_*) => println("Array"+"0 ...")
      case _ =>  println("some thing!")
    }
    
    match_array(Array(0))
    match_array(Array(0,1))
    match_array(Array(0,1,2,3,4))
    match_array(Array("hello","world"))
    
    /*
     * 3.對一個未知的List進行匹配,它可以將數組匹配到具體形式的case上
     *   case1中是說這個List只有一個元素,而且該元素必須是0
     *   case2中是說這個List具有兩個任意元素
     *   case3中是說這個List具有任意多元素,且第一個元素必須是0
     */
    def match_list( lst : Any ) = lst match{
      case 0 :: Nil => println("List"+"0")
      case x :: y :: Nil => println("List "+x+" "+y)
      case 0 :: tail => println("List"+"0 ...")
      case _ =>  println("some thing!")
    }
    
    match_list(List(0))
    match_list(List(0,1))
    match_list(List(0,1,2,3,4))
    match_list(List("hello","world"))
    
     /*
     * 4.對一個未知的Tuple進行匹配,它可以將數組匹配到具體形式的case上
     *   case1中是說這個Tuple只有一個元素,而且該元素必須是0
     *   case2中是說這個Tuple具有兩個任意元素
     *   case3中是說這個Tuple具有任意多元素,且第一個元素必須是0
     */   
    def match_tuple( tuple : Any ) = tuple match{
      case (0,_) => println("List"+"0")
      case (x,_) => println("List "+x)
      case _ =>  println("some thing!")
    }
    match_tuple((0,"scala"))
    match_tuple(("hello",1))
    match_tuple((0,1,2,3,4)) 
  }
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼木县| 普安县| 维西| 榕江县| 山东省| 邵阳市| 柘城县| 霍林郭勒市| 改则县| 漳浦县| 工布江达县| 浦江县| 拉萨市| 灵寿县| 祁门县| 大埔县| 嘉义县| 孝义市| 额尔古纳市| 嘉鱼县| 贵定县| 蓬安县| 三穗县| 平阴县| 松阳县| 晋中市| 肇州县| 天台县| 景东| 恩施市| 临安市| 开原市| 定州市| 麻栗坡县| 靖江市| 达日县| 石城县| 宁河县| 舞钢市| 黔东| 上蔡县|