19.6 下划线用法总结

_(下划线)这个字符在 Scala 中似乎无处不在,到目前为止,它可能是 Scala 中使用最广泛的符号。

使用场景清单:

  1. 作为包引入的通配符

  2. 作为元组索引的前缀.

     val names: (String, String) = ("lisi", "zs")
     names._1
     names._2
    
  3. 作为函数值的隐式参数

     println(list.map(_ * 2))
     // 等价于
     println(list.map(ele => ele * 2))
    
  4. 利用默认值初始化字段

  5. 用于在函数名中混合操作符

    Scala 不允许直接使用字母和数字字 符的操作符。例如,foo:是不允许的,但是可以通过使用下划线来绕过这个限制, 如 foo_:

    // 错误
     def foo:(a : Int) = {
    
     }
     // 正确
     def foo_:(a :Int){
    
     }
    
  6. 在模式匹配时作为通配符.

  7. 在处理异常时, 在catch在代码块中和case联用

  8. 作为分解操作的一部分. 例如,max(arg: _*)在将数组或者列表参数传递给接受可变长度参数的函数前,将其分解为离散的值。

  9. 用于部分应用一个函数。例如,在代码片段 val square = Math.pow(_: Int, 2)中,我们部分应用了 pow()方法来创建了一个 square()函数。

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-05-18 15:03:20

results matching ""

    No results matching ""