Scala 中下划线 _ 的用法总结

Posted 做人要厚道2013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()函数。

以上是关于Scala 中下划线 _ 的用法总结的主要内容,如果未能解决你的问题,请参考以下文章

转载:浅谈 Scala 中下划线的用途

scala 中下划线与星号 _*

scala中下划线

scala中下划线的几种含义

关于css中下划线的用法

Python中下划线---完全解读