第一:初始化的时候。
在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。object Sample { var name:String=_ def main (args: Array[String]){ name="hello world" println(name) }
第二:引入的时候。
import math._
object Sample {
def main (args: Array[String]){
println(BigInt(123))
}
}
这里的math._就相当于Java中的math.*; 即“引用包中的所有内容”。
第三:集合中使用。(最典型,最常用)
object Sample { def main (args: Array[String]){ val newArry= (1 to 10).map(_*2) println(newArry) } }这里的下划线代表了集合中的“某(this)”一个元素。这个用法很常见,在foreach等语句中也可以使用。
第四:模式匹配。
object Sample { def main (args: Array[String]){ val value="a" val result= value match{ case "a" => 1 case "b" => 2 case _ =>"result" } println(result) } }在这里的下划线相当于“others”的意思,就像Java switch语句中的“default”。
还有一种写法,是被Some“包”起来的,说明Some里面是有值的,而不是None。
书籍下载: 点击打开链接
http://pan.baidu.com/s/1dF5kMLN