logo头像
Snippet 博客主题

Scala中下划线("_")的用途总结

_在scala中是一个神奇的存在,可以说无处不在


  1. 通配符
1
2
3
4
5
6
7
8
9
// import全部
import scala._

Some(5) match { case Some(_) => println("Yes") }

// match中的任意条件
"x" match {
case _ =>
}

  1. tuple中的元素取值
    1
    2
    3
    val x = (1, 2)
    x._1
    x._2

  1. 占位符
    1
    2
    3
    4
    5
    6
    7
    8
    // 匿名函数中的占位符
    Array(1, 2, 3).reduce(_ + _)

    val (a, _) = (1, 2)

    for (_ <- 1 to 10) {
    println("hi")
    }

  1. 初始化
    1
    2
    var i: Int = _
    i

  1. 其它
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // 序列类型传递给变长参数函数
    def sum(nums: Int *) = {
    var res = 0
    for (num <- nums) {
    res += num
    }
    res
    }

    sum(Array(1, 2, 3): _*)

评论系统未开启,无法评论!