scala简要:模式匹配

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/42341283
与switch语句不同,scala模式匹配没有break的问题。如果case中的判断不能匹配,则捕获所有的模式来尝试匹配。变量模式可能与常量表达式冲突,变量必须以小写字母开头。如果有一个小写字母开头的常量,则需要把它抱在反引号中。

在类型匹配的时候,必须给出一个变量名,否则会拿对象本身来进行匹配。由于匹配发生在运行时,Jvm中泛型的类型信息是被擦掉的,所有不能用类型来匹配特定的Map类型。正则表达式是适合使用提取器的场景。

样例类是一种特殊的类,经过优化以被用于模式匹配,其实例使用(),样例对象不使用圆括号。中置表示法可用于任何返回对偶的unapply方法。样例类的特点:
1)模式匹配的代码更精简
2)构造时不需new
3)可以免费得到toString,equals,hashCode 和copy方法

让所有样例类都扩展某个密封的类或特质是个好做法。被包在花括号内的一组case语句是一个偏函数,偏函数表达式必须位于编译器可以推断返回类型的上下文中。
目录
相关文章
|
分布式计算 Java Hadoop
Spark集群搭建记录 | 云计算[CentOS8] | Scala Maven项目访问Spark(local模式)实现单词计数(下)
step6 创建scala object step7 修改pom文件 step8 配置项目 step9 添加依赖库(Spark的jar包) step10 设置输入路径
141 0
Spark集群搭建记录 | 云计算[CentOS8] | Scala Maven项目访问Spark(local模式)实现单词计数(下)
|
分布式计算 IDE Java
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数(上)
写在前面 step1 下载Scala IDE step2 解压安装Scala IDE step3 Scala 下载 step4 Scala 配置 step5 创建scala项目
128 0
Spark集群搭建记录 | 云计算[CentOS7] | Scala Maven项目访问Spark(local模式)实现单词计数(上)
|
Java Scala
scala的模式匹配
scala提供了一个非常强大的模式匹配机制,那什么是模式匹配呢?模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。 语法
|
Java Scala
Scala深入学习之模式匹配
模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。
|
Java 大数据 Scala
大数据进阶之路——Scala 集合和模式匹配
大数据进阶之路——Scala 集合和模式匹配 5
181 0
大数据进阶之路——Scala 集合和模式匹配
|
Scala
scala 简要: Actor
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
741 0
|
Java Scala Shell
scala简要:文件访问
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
802 0
|
Scala 自然语言处理
scala简要:操作符和解析器
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
936 0
|
Scala 缓存
scala 简要:集合
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
718 0
|
Java Scala 编译器
scala简要:注解
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/42341349 注解可以在程序的各个条目中添加信息,是插入到代码中以便有工具可以对他们进行处理的标签。
658 0