scala模式匹配

2021-09-08 18:24:04 字數 615 閱讀 4095

這是scala中最有用的部分之一。

匹配值

val times = 1

times match

使用守衛進行匹配

times match

注意我們是怎樣將值賦給變數』i』的。

在最後一行指令中的_是乙個萬用字元;它保證了我們可以處理所有的情況。

否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們以後會繼續討論這個話題的。

參考effective scala 對什麼時候使用模式匹配 和 模式匹配格式化的建議. a tour of scala 也描述了 模式匹配

你可以使用match來分別處理不同型別的值。

def bigger(o: any): any = 

}

還記得我們之前的計算器嗎。

讓我們通過型別對它們進行分類。

一開始會很痛苦。

def calctype(calc: calculator) = calc match

(⊙o⊙)哦,太痛苦了。幸好scala提供了一些應對這種情況的有效工具。

Scala模式匹配

1.常量匹配 def constantmatch x int string x match def constantmathtest 輸出結果 one many2.列表匹配 def sequencematch x list int string x match def sequencemathtes...

scala模式匹配

這是scala中最有用的部分之一。匹配值val times 1 times match 使用守衛進行匹配 times match 注意我們是怎樣將值賦給變數 i 的。在最後一行指令中的 是乙個萬用字元 它保證了我們可以處理所有的情況。否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們...

Scala模式匹配

並且scala還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。1 匹配字串 todo 匹配字串 定義乙個陣列 val arr array hadoop zookeeper spark storm 隨機取陣列中的一位,使用random.nextint val name arr random.n...