Scala 中下劃線 _ 的用法總結

_(下劃線)這個字符在 Scala 中似乎無處不在,到目前爲止,它可能是 Scala 中使用最廣泛的符號。

使用場景清單:

  1. 作爲包引入的通配符

  2. 作爲元組索引的前綴.

val names: (String, String) = ("lisi", "zs")
names._1
names._2
  1. 作爲函數值的隱式參數
println(list.map(_ * 2))
// 等價於
println(list.map(ele => ele * 2))
  1. 利用默認值初始化字段

  2. 用於在函數名中混合操作符
    Scala 不允許直接使用字母和數字字 符的操作符。例如,foo:是不允許的,但是可以通過使用下劃線來繞過這個限制, 如 foo_:

// 錯誤
def foo:(a : Int) = {
}
// 正確
def foo_:(a :Int){
}
  1. 在模式匹配時作爲通配符.

  2. 在處理異常時, 在catch在代碼塊中和case聯用

  3. 作爲分解操作的一部分. 例如,max(arg: _*)在將數組或者列表參數傳遞給接受可變長度參數的函數前,將其分解爲離散的值。

  4. 用於部分應用一個函數。例如,在代碼片段 val square = Math.pow(_: Int, 2)中,我們部分應用了 pow()方法來創建了一個 square()函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章