Scala的Option类型
Scala的Option类型
为了让所有东西都是对象的目标更加一致,也为了遵循函数式编程的习惯,Scala鼓励你在变量和函数返回值可能不会引用任何值的时候使用Option类型。在没有值的时候,使用None,这是Option的一个子类。如果有值可以引用,就使用Some来包含这个值。Some也是Option的子类。
None被声明为一个对象,而不是一个类,因为我们只需要它的一个实例。这样,它多少有点像null关键字,但它却是一个实实在在的,有方法的对象。
单独对一个map对象使用get方法,获取到的是一个Option类,获取里面的数值,需要再次调用运行一下get方法,例如
1 object Test { 2 def main(args: Array[String]) { 3 val imap=Map(5->"test") 4 val a:Option[Int] = Some(5) 5 val b:Option[Int] = None 6 7 println("a.getOrElse(0): " + imap.get(5).getOrElse(0) ) 8 println("b.getOrElse(10): " + b.getOrElse(10) ) 9 } 10 }
getOrElse会输出默认值10,如果获取到则进行输出
1 2 | a.getOrElse( 0 ) : test b.getOrElse( 10 ) : 10 |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步