Spark基础知识16-Scala模式匹配、类型匹配、守卫、case、option的基本使用

文章介绍了Scala语言中的模式匹配机制,包括简单的匹配示例、如何处理更多信息,以及在List中的类型匹配问题。同时,文章强调了Option类型的重要角色,Option分为Some和None,提供了getOrElse方法来处理可能存在的空值情况,特别适用于处理可能缺失的上游数据。在Spark流计算中,Option也有特殊的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 简单匹配示例

 可以获取匹配的值

我想可以用到项目中,而不是DAXQ都是if else ,具体还没想好怎么写

如果想获取更多信息呢,4 is not allowed,如果能获取到4呢,加一个变量名称例如unexpected 

 

Scala可以对表达式的类型进行匹配

注:如果后面再来看我可能会有点小疑问,List里面应该都是相同类型数据,而下面Int,Double,String,都有呢。

最好的解释是如果创建不同类型的List,则列表会变成List[Any],元素都变成Any类型而失去原来的类型信息,在匹配时在判断类型。

 守卫

在模式匹配中加入处理逻辑

for循环中的模式

 case类匹配(样例类)

Option类型

 返回值有值时some

返回值无值时none

 option具体例子

把5封装在some子类中返回,

some(有值),none(值不存在)是Pption[Int]的子类

 好处:getOrElse方法

太好用了!基本上写项目代码时都会用到,获取上游数据,在平台DA的3.1.9上游有应用,返回有意义的结果

特殊的处理,spark流计算时。

 option注意点

foreach

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData_老李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值