第27讲:Type、Array、List、Tuple模式匹配实战解析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,除了普通的×××、字符串类型的模式匹配,scala还提供了很多形式的模式匹配。例如Type、Array、List、Tuple我们通过代码来说明。类型模式匹配:判断传入值的类型 def match
千家信息网最后更新 2025年12月03日第27讲:Type、Array、List、Tuple模式匹配实战解析
除了普通的×××、字符串类型的模式匹配,scala还提供了很多形式的模式匹配。例如Type、Array、List、Tuple
我们通过代码来说明。
类型模式匹配:判断传入值的类型
def match_type(t : Any) = t match { case p : Int => println("It is a Integer!") case p : String => println("It is a String! the content is :"+p) case m : Map[_,_] => m.foreach(println) case _ => println("Unknown Type") } match_type(1) match_type("Spark") match_type(Map("Spark"->"scala language"))运行结果如下
It is a Integer!It is a String! the content is :Spark(Spark,scala language)
特殊说明Map[_,_]中的两个_,表示任意类型。等同于type Map = Predef.Map[A, B] 但是不能写成Map[Any,Any]
数组模式匹配:
def match_array(arr : Any) = arr match { case Array(x) => println("Array(1):",x) // 长度为1的数组,x代表数组中的值 case Array(x,y) => println("Array(2):",x,y) // 长度为2的数组,x代表数组中的第一个值 case Array(x,_*) => println("任意一维数组:",x) //任意长度数组,取第一个值 case Array(_*) => println("任意一维数组") //任意长度数组 } match_array(Array(0)) match_array(Array("spark")) match_array(Array("spark","scala")) match_array(Array("spark","scala",0,4))列表匹配:
def match_list(lst : Any) = lst match { case 0 :: Nil => println("List:"+0) //Nil表示空列表 case List(x) => println("List:"+x) case x :: y :: Nil => println("List:"+x) case x :: tail => println("List:"+"多元素List") //tail表示List的剩下所有元素 } match_list(List(0)) match_list(List("spark")) match_list(List("spark","hadoop")) match_list(List("spark",1,2,4,5))元组匹配
def match_tuple(t : Any) = t match { case (0,_) => println("二元元组,第一个值为0") case (x,y) => println("二元元组,值为:"+x+","+y) case _ => println("something else") } match_tuple((0,'x')) match_tuple(('y','x')) match_tuple((0,1,2,3))
数组
模式
类型
长度
代表
元素
一维
普通
特殊
两个
代码
字符
字符串
形式
结果
运行
实战
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发的员工怎样管理
数据库 怎么求平均值
互联网科技伟人
网络安全内容小学生短语
网络安全工程师 公安
网络技术实训室设备报价
服务器 无法上传
计算机三级网络技术填空解析
二零一八年国家网络安全周
北京网络安全技能竞赛
广东互联网开发科技有限排名
我的世界服务器怎么连接电脑
一师健康行授权咨询服务器异常
网络安全主要目标是什么
计算机网络技术的同义词
php 表格显示数据库
泉州市网络技术大赛
锐捷网络安全产品生意经
福建软件开发制作公司
网安法网络安全吗
汕尾通讯软件开发回收价
我的世界服务器管理器后台
车控软件开发工程师
轨道交通网络安全讲义
数据库技术高职
为什么网络安全工程师这么难考
base是什么数据库
普洱公司app软件开发多少钱
镇江浪潮服务器咨询客服
群晖IPTV服务器设置