27.Type、Array、List、Tuple模式匹配实战解析
来源:互联网 发布:银泰证券股票交易软件 编辑:程序博客网 时间:2024/05/16 13:42
一、Type模式匹配实战解析
def match_type(t : Any) = t match{ case p : Integer => println("It is Integer") case p : String => println("It is String , the content is " + p) case m : Map[_,_] => m.foreach(println) case _ => println("Unknown type!!") } match_type(2) match_type("spark") match_type(Map("scala" -> "spark"))输出:
It is Integer
It is String , the content is spark
(scala,spark)
二、Array模式匹配实战解析
def match_array(arr : Any) = arr match{ case Array(0) => println("Array " + "0") //数组中只有一个元素0 case Array(x,y) => println("Array " + x + " " + y) //数组中有2个元素 case Array(0, _*) => println("Array " + "0...") //数组中至少有一个元素0,且开头第一个元素为0 case _ => println("something else") } match_array(Array(0)) match_array(Array(0,1)) match_array(Array(0,1,2,3,4,5))输出:
Array 0
Array 0 1
Array 0...
三、List模式匹配实战解析
def match_list(lst : Any) = lst match{ case 0 :: Nil => println("list 0") //List为空,即表示为Nil。::是拼接符。 0::Nil表示只有一个元素0 case x :: y :: Nil => println("list " + x + " " + y) //List中只有2个元素 case 0 :: tail => println("list 0 ...") //tail表示除了head(第一个元素)外的剩下所有元素。0::tail表示这个List是以0开头的 case _ => println("something else") } match_list(List(0)) match_list(List(2,8)) match_list(List(0,1,2,3,4))输出:
list 0
list 2 8
list 0 ...
四、Tuple模式匹配实战解析
def match_tuple(tuple: Any) = tuple match{ case (0, _) => println("tuple 0" ) //tuple里第一个元素是0 case(x, 0) => println("tuple " + x) //tuple里第二个元素是0,第一个元素是任意类型 case _ => println("something else") } match_tuple( (0, "scala")) match_tuple( (2, 0)) match_tuple( (0,1,2,3,4,5))输出:
tuple 0
tuple 2
something else
勉励大家把代码都重复7次,就会很熟练。
参考资料来源于 DT大数据梦工厂Scala零基础实战经典第27课 由王家林老师讲解
阅读全文
0 0
- 27.Type、Array、List、Tuple模式匹配实战解析
- scala-27:Type、Array、List、Tuple模式匹配实战解析
- Scala深入浅出实战经典:27,Type、Array、List、Tuple模式匹配实战解析
- DT梦工厂 第27讲 Type,Array,List,Tuple模式匹配实战解析
- scala 模式匹配之Type、Array、List和Tuple
- scala 模式匹配之Type、Array、List和Tuple
- 快学scala之Array、List、tuple模式匹配
- scala的array,list,tuple
- Scala 中Array,List,Tuple的区别
- Scala中的Array,List以及Tuple
- scala 关于Array,List,Tuple的区别
- Scala之Array,List,Tuple,Set,Map
- scala 关于Array,List,Tuple的区别
- scala中Array、List、Tuple异同
- Scala学习笔记21【Scala List之模式匹配实战】
- 006-Map、Tuple、Zip实战解析
- scala-06Map、Tuple、Zip实战解析
- 6.Map、Tuple、Zip实战解析
- git
- [Android][第一行代码][第 3 章 View]
- word在试图打开文件时遇到错误
- sql server完全安装并解决一般性网络错误
- 如何对电气产品进行拆分?
- 27.Type、Array、List、Tuple模式匹配实战解析
- three.js 基础入门
- 深度学习笔记1 BP神经网络
- jdk完全卸载
- CodeForces
- 红米Note4X lineageOs cm14.1耳机无声的问题解决方法
- ionic3 IOS真机测试BUG记录(持续更新中...)
- c++ 滑雪问题(vector穷举)
- Java Web基础知识之JSP:穿上马甲我照样认识你