zoukankan      html  css  js  c++  java
  • Type、Array、List、Tuple模式匹配实战解析之Scala学习笔记-18

    package com.leegh.pattern_match

    /**
    * @author Guohui Li
    */
    /**
    * Type,Array模式匹配
    */
    object Pattern_Match_More {
    def main(args: Array[String]): Unit = {
    def match_type(t: Any) = t match {
    case p: Int => println("It is Integer")
    case p: String => println("It is String")
    case m: Map[_, _] => m.foreach(println)
    case _ => println("Unknown type!!!")
    }

    match_type(2)
    match_type(Map("Scala" -> "Spark"))

    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("something else")
    }
    match_array(Array(0))
    match_array(Array(0, 1))
    match_array(Array(0, 1, 2, 3, 4, 5, 6))

    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("something else")
    }
    match_list(List(0))
    match_list(List(0, 1))
    match_list(List(0, 1, 2, 3, 4, 5))

    def match_tuple(tuple: Any) = tuple match {
    case (0, _) => println("Tuple:" + "0")
    case (x, _) => println("Tuple:" + x)
    case _ => println("something else")
    }
    match_tuple((0, "Scala"))
    match_tuple((2, 0))
    match_tuple((0, 1, 2, 3, 4, 5))
    }
    }

    附:

    本博客说明:

    1.整理思路,提高自己。

    2.受教于王家林老师,​有所收获,故推荐。

    3.博客注重实践,多余的文字就不多说了,都是做技术的。

    4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。​

    DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

    Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

    百度云盘:http://pan.baidu.com/s/1c0noOt6
    腾讯微云:http://url.cn/TnGbdC
    360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

  • 相关阅读:
    notepad++中快速插入当前时间方法
    ICE学习笔记一----运行官方的java版demo程序
    使用filter统一设置编码
    hibernate学习笔记之四 Hibernate的增删改查
    hibernate学习笔记之三 持久化的三种状态
    hibernate学习笔记之二 基本环境搭建
    How To Install Proxmox Nested on VMware ESXi (Full Support OpenVZ & KVM)
    struts1四:常用标签
    struts1三:struts1的实现原理
    struts1二:基本环境搭建
  • 原文地址:https://www.cnblogs.com/leegh1992/p/4719919.html
Copyright © 2011-2022 走看看