Scala 中的Option类型

风流意气都作罢 提交于 2020-02-04 18:27:41

Option类型

使用Option类型,可以用来有效避免空引用(null)异常。也就是说,将来我们返回某些数据时,可以返回一个Option类型来替代。
scala中,Option类型来表示可选值。这种类型的数据有两种形式:

  • Some(x):表示实际的值
  • None:表示没有值
  • 使用getOrElse方法,当值为None是可以指定一个默认值
代码示例
object Test01 {
  /**
   * 定义除法方法
   *
   * @param a 参数1
   * @param b 参数2
   * @return option报窜Double 类型
   */
  def dvi(a: Double, b: Double): Option[Double] = {
    if (b != 0) {
      Some(a / b)
    } else {
      None
    }
  }

  def main(args: Array[String]): Unit = {
    //使用getOrElse方法,当除零时,或者默认值为0
    val d: Double = dvi(1, 0).getOrElse(0)
    println(d)
    
    //使用模式匹配来打印结果
    //调用除法方法
    val option = dvi(1.0, 5)
    option match {
      //不是除零,打印结果
      case Some(x) => println(x)
      //除零打印异常错误
      case None => println("除0异常")
    }
  }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!