option

Option(选项)类型用来表示一个值是可选的(有值或无值)。

如果存在, Option[T] 就是 Some[T] ,如果不存在, Option[T] 就是对象 None

myMap 一个是一个 Key -Value 的类型,但他的 get() 返回的是 Option 的类别

1. 

object Test {
   def main(args: Array[String]) {
      val sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com")
      println("runoob:"+sites.get("runoob"))
      println("baidu:"+sites.get("baidu"))

 }}
Test.main(Array())

runoob:Some(www.runoob.com)
baidu:None
defined object Test

  

2. 模式匹配

object Test {
   def main(args: Array[String]) {
      val sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com")
 
      println("runoob:"+show(sites.get("runoob")))
      println("baidu:"+show(sites.get("baidu")))


   def show(x:Option[String])=x match{
       case Some(s)=>s
       case None =>"?"
} 



}}
Test.main(Array())

runoob:www.runoob.com
baidu:?
defined object Test

  

3. getOrElse() 方法来获取元组中存在的元素或者使用其默认的值

object Test {
   def main(args: Array[String]) {

   val a:Option[Int]=Some(5)
   val b:Option[Int]=None


   println("a:"+a.getOrElse(0))
   println("b:"+b.getOrElse(10))




}}

Test.main(Array())

a:5
b:10
defined object Test

4. isEmpty() 方法

object Test {
   def main(args: Array[String]) {
      val a:Option[Int] = Some(5)
      val b:Option[Int] = None 
      
      println("a.isEmpty: " + a.isEmpty )
      println("b.isEmpty: " + b.isEmpty )
   }
}
Test.main(Array())


a.isEmpty: false
b.isEmpty: true
defined object Test

  

猜你喜欢

转载自www.cnblogs.com/hapyygril/p/11649735.html