一、由于scala是动静态结合语言,既可以面向对象编程,又可以面向函数编程。在运行时决定数据类型,所以经常在类型匹配中使用Some来匹配类型。如果不添加Some匹配,会导致结果不是我们想要的。
1、比如有Map集合:
val strMap=("123"->"tom","456"->"sina")
2、现在想要通过key获取value:
val value=strMap.get("123")
(1)如果有值,那么结果是? (Some(tom))
(2)如果没匹配到值,那么结果是?(None)
3、所以需要类型匹配处理,使得结果是我们需要的,如下:
value match {
case Some(res)=>res //如果有值,返回类型相匹配的值
case None=>"没有值" //如果没有值,则返回用户自定义的值
}
相关文章
- Java基础学习笔记十四 常用API之基本类型包装类
- [学习笔记01]js基础变量及数据类型
- 【java基础】——String类和基本数据类型包装类
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
- 黑马程序员——C语言基础-关键字、标识符、注释、数据类型、常量、变量
- 黑马程序员--C#基础(二)-->关键字、数据类型、变量、常量
- spark快速开发之scala基础之1 数据类型与容器
- 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:
- Java基础学习第十三天——StringBuffer类与基本类型包装类
- JAVA基础 day13 String类和StringBUffer类的常用方法 基本数据类型包装类的学习