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

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM