一、由于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=>"没有值" //如果没有值,则返回用户自定义的值
}