1. <-只会出现在for循环里面
2 ->只会出现在k->v里面
常常出现在map和构造元祖上面使用。
3. 但是=>就较为复杂了,一般主要是在匿名函数中的使用
//通过匿名函数定义一个函数变量xx
scala> var xx = (x: Int) => x + 1
xx: Int => Int = <function1>
//给一个高阶函数,传递一个函数:
scala> val newList = List(1,2,3).map { (x: Int) => x * 2 }
newList: List[Int] = List(2, 4, 6)
匿名函数定义,=>左边是参数 右边是函数实现体 (x: Int)=>{}
4. _的用法
4.1 _可以起到类似于*作用的通配符:
import org.apache.spark.SparkContext._
4.2 指代集合中的每一个元素
例如 遍历集合筛选列表中大于某个值的元素。
val lst = List(1,2,3,4,5)
val lstFilter = lst.filter(_ > 3)
4.3 获取元组中指定下标的元素值
val ss = (1,"22","333")
println(ss._1)
4.4 使用模式匹配可以用来获取元组的组员
val m = Map(1 -> 2,2 -> 4)
for ((k,_) <- m) println(k) //如果不需要所有部件, 则在不需要的部件使用_; 本例只取key,因此在value处用_
4.5 成员变量而非局部变量添加默认值
var s:Int=_
def main(args: Array[String]): Unit = {
println(s)
}
本文详细介绍了Scala编程语言中几个特殊的符号用法:<-常用于for循环,->常用于映射和元组构造,=>用于定义匿名函数,而_则有多种用途,包括作为通配符在遍历集合、获取元组元素和模式匹配等场景中使用。
529

被折叠的 条评论
为什么被折叠?



