31.Option使用和实现内幕源码揭秘
来源:互联网 发布:易考吧软件下载 编辑:程序博客网 时间:2024/06/05 13:26
一、Option中的sealed关键字解析
sealed abstract class Option[+A] extends Product with Serializable {...} //注意这里的sealed关键字final case class Some[+A](x: A) extends Option[A] {...}case object None extends Option[Nothing] {...}
sealed关键字:
sealed的意思是封闭的、密封的
这个关键字要求:Option的子类(包括case class 和case object)都必须在同样一个文件中
这个关键字的好处:用Option的子类(包括case class 和case object)来进行模式匹配的时候,编译器可以帮我们进行检查,检查是否所有的匹配选项都已经列入到case中
二、Option使用内幕实战解析
package ce.scala.ppobject Option_Internal_31 { def main(args : Array[String] ) : Unit = { //7 val scores = Map("Alice" -> 99, "spark" -> 100) scores.get("Alice") match{ case Some(score) => println(score) case None => println("no score") } }}
输出:99
参考资料来源于大数据梦工厂 深入浅出scala 第31讲 由王家林老师讲解
阅读全文
0 0
- 31.Option使用和实现内幕源码揭秘
- scala-31:Option使用和实现内幕源码揭秘
- Scala深入浅出实战经典:31,Option使用和实现内幕源码揭秘
- scala-41:List继承体系实现内幕和方法操作源码揭秘
- 41.List继承体系实现内幕和方法操作源码揭秘
- Scala深入浅出进阶经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
- 第83讲:Scala中List的实现内幕源码揭秘学习笔记
- 【DT大数据梦工厂视频】《第83讲:Scala中List的实现内幕源码揭秘》
- 第83讲:Scala中List的实现内幕源码揭秘
- Scala深入浅出进阶经典 第83讲:Scala中List的实现内幕源码揭秘
- jquery1.11源码学习——揭秘jquery内幕
- 内幕视角揭秘那些年的微软和诺基亚
- 揭秘黑客攻击内幕和20个黑客相关术语
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- Spark 定制版:007~Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 欢迎使用CSDN-markdown编辑器
- HAL向上层提供接口的分析
- mysql包含二进制字段的数据导出导入及可能遇到的问题
- Python3之协程socket应用
- ASP.NET Core 2.0使用Cookie认证实现SSO单点登录
- 31.Option使用和实现内幕源码揭秘
- 运行scrapy遇到的错误总结
- Apache2.4虚拟主机和多站点配置
- 在Egret项目中使用protobuf
- Android进阶之旅
- 新手之hibernate的实体配置(xxx.hbm.xml)
- MySQL安装之后没有MySQL数据库的原因
- VirtualBox上Linux机器DHCP安装与配置
- Lucene6入门教程(六)搜索/查询方式