Match 的注意事项和细节 | 学习笔记

简介: 快速学习 Match 的注意事项和细节

开发者学堂课程【Scala 核心编程 - 进阶Match 的注意事项和细节学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9067


Match 的注意事项和细节


1.如果所有 case 都不匹配,那么会执行 case _分支,类似于 Java 中 default 语句

2.如果所有 case 都不匹配,又没有写 case _分支,那么会抛出MatchError

案例:

val oper = '#'

val n1 = 20

val n2 = 10

var res = 0

oper match {

case '+'=> res=n1+n2

case'_'=> res=n1-n2

case '*' => res = n1 * n2

case '/' => res=n1 / n2

//case _ => println("oper error")

}

如果 case_没有写出支行,在val oper = '-'写一个特殊字符#如上方代码,在 case 找不到匹配,也没有写默认匹配,那么运行结果会抛出一个异常 MatchError

注意:

只要是 match 里至少有一个 case _

3.每个 case 中,不用 break 语句,自动中断 case

4.可以在 match 中使用其它类型,而不仅仅是字符                        

案例:

可以在上方代码中加一个匹配

case 1 => println("匹配到1")

还可以写成

case 1.1 => println("匹配到1.1")

val oper = '#'改成val oper = '1'

5.=>等价于 java swtich 的

6.=>后面的代码块到下一个 case,是作为一个整体执行,可以使用{}扩起来,也可以不扩。

案例:

case '+'=>

res =n1+n2

println("ok~~")

println("hello~~")

val oper = '1'改成val oper = '+'

执行,都会被输出,但不利于阅读。如果有 case 更建议用{}扩起来做成一个代码块,更利于阅读。

相关文章
|
SQL XML Java
一文搞懂Mybatis执行原理
一文搞懂Mybatis执行原理
285 1
|
4月前
|
API
1688图片搜索API详解
1688图片搜索接口通过上传图片实现相似商品匹配,适用于电商比价、商品溯源。支持按图搜同款或相似商品,返回商品ID、标题、价格等信息,并可设置分页、排序与筛选参数。核心参数包括图片URL/Base64(imgid)、搜索模式(search_type)及排序方式(sort_type)。
|
2月前
|
人工智能 开发者
外滩大会报名 | 破局 AI 时代,洞察大模型开源开发全景、趋势与机遇
当 AI 浪潮以肉眼可见的速度重塑全球技术格局,大模型的迭代如浪涌般此起彼伏,开发者们在开源社区的每一次代码提交、每一次项目引用,都在悄然勾勒着行业未来的走向。如何在纷繁复杂的技术演进中,看清 AI 生态的全景与未来?一场围绕大模型开源开发趋势的深度对话已蓄势待发。
106 0
|
算法 关系型数据库 MySQL
技术分享:600W QPS高并发ID设计与时钟回拨解决方案
【8月更文挑战第26天】在大型分布式系统中,高并发ID生成和时钟同步是两个至关重要的技术挑战。随着业务量的快速增长,如美团点评的金融、支付、餐饮等业务场景,每秒需要处理数百万级别的请求,这就对ID的生成效率和唯一性提出了极高要求。同时,时钟回拨问题也时常困扰着系统管理员,影响数据一致性和系统稳定性。本文将围绕这两个主题,分享一些工作学习中的技术干货。
343 1
|
Kubernetes 应用服务中间件 调度
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
k8s--pod 基本配置、镜像拉取策略、启动命令、端口设置、资源配额
|
网络协议 程序员 UED
如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!
哈喽,大家好!我是技术好朋友小米,今天聊聊单聊消息的可靠传输。通过TCP的超时、重传、确认机制,结合去重和离线消息优化,我们可以设计出高效、可靠的消息传输系统。希望今天的分享能给大家带来帮助!如果有问题,欢迎留言交流。
292 0
如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!
|
存储 安全 算法
网络安全与信息安全:构建防线的三大支柱
本文旨在深入探讨网络安全与信息安全领域的关键要素,聚焦于网络安全漏洞、加密技术及安全意识三大核心方面。通过阐述每个概念的基本定义、重要性以及实践应用,本文揭示了它们在保护数据免受未授权访问和攻击中的作用。同时,文章强调了综合运用这些策略来构建坚固的信息安全防线的重要性。
|
移动开发 iOS开发 Perl
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
359 0
|
存储 安全 大数据
CDGA|数据流通新策略:高效利用,解锁数字经济新动能
在数字化时代,数据成为推动经济社会发展的关键要素。然而,数据孤岛、安全隐私及标准化不足等问题制约了其高效利用。本文探讨数据流通的新策略,包括强化数据治理、技术创新、安全保护及标准化建设,旨在构建高效利用体系,赋能数字经济高质量发展,激发数据要素潜能,推动产业升级与经济转型。