zoukankan      html  css  js  c++  java
  • 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,如果获取到则进行输出

    a.getOrElse(0): test
    b.getOrElse(10): 10
    

      

     
  • 相关阅读:
    【NOIP2017】奶酪
    【NOIP2017】时间复杂度
    【NOIP2005】过河
    【洛谷习题】垃圾陷阱
    dfs序
    bzoj2441 小W的问题
    彩色迷宫
    蛋糕与蛋挞
    树上倍增
    因数个数定理
  • 原文地址:https://www.cnblogs.com/laodageblog/p/scala.html
Copyright © 2011-2022 走看看