Option: 標準類庫中的Option類型用樣例類來表示那種可能存在、也可能不存在的值。函數
Option 有兩個子類別,一個是 Some,一個是 None,當他回傳 Some 的時候,表明這個函式成功地給了你一個 String,而你能夠透過 get() 這個函式拿到那個 String,若是他返回的是 None,則表明沒有字符串能夠給你。 固然,在返回 None,也就是沒有 String 給你的時候,若是你還硬要調用 get() 來取得 String 的話,Scala 同樣是會報告一個 Exception 給你的 由於 Option[T] 除了 get() 以外,也提供了另外一個叫 getOrElse() 的函式,這個函式正如其名--若是 Option 裏有東西就拿出來,否則就給個默認值。 參考urlurl
implicit(隱式轉換): *以implicit關鍵字聲明的帶有單個參數的函數。*implicit conversion function ,這樣的函數將被自動應用,將值從一種類型轉換爲另外一種類型。 【 example】 咱們想把整數n轉換成分數n/1..net
<!-- lang: scala --> implicit def int2Fraction (n: Int) = Fraction(n, 1)
這樣就能夠用以下表達式求值:scala
<!-- lang: scala --> val result = 3 * Fraction(4, 5) //將調用int2Fraction(3)
yield:對於for -yield表達式的語法是這樣的: for {子句} yield {循環體} yield在整個循環體以前code
for 循環中的 yield 會把當前的元素記下來,保存在集合中,循環結束後將返回該集合。Scala 中 for 循環是有返回值的。若是被循環的是 Map,返回的就是 Map,被循環的是 List,返回的就是 List,以此類推blog