1. 泛型限定
泛型中的符号 <: >: <% : + -
符号 | 作用 |
---|---|
[T <: UpperBound] | 上界 |
[T >: LowerBound] | 下界 |
[T <% ViewBound] | 视界 |
[T : ContextBound] | 上下文界 |
[+T] | 协变 |
[-T] | 逆变 |
参考:https://blog.youkuaiyun.com/datadev_sh/article/details/79589238#t4
2. 集合操作符
:: +: :+ ++ ++: :::
这些符号全都是连接的作用,将元素与集合、集合与集合相连接
:: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil))。所以 :: +: :::这些操作符都是在前面插入( ++: 除外,为什么?)。:+ ++ ++:这些是追加、拼接。
scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)
scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)
符号 | 操作 | 结果 | 位置 | 解释 |
---|---|---|---|---|
:: | a :: b | List(List(1, 2, 3), 4, 5, 6) | 前插 | 把a当成一个元素,前插到b集合 |
+: | a +: b | List(List(1, 2, 3), 4, 5, 6) | 前插 | 同上 |
:+ | a :+ b | List(1, 2, 3, List(4, 5, 6)) | 后插 | 把b当成一个元素,后插到a集合 |
++ | a ++ b | List(1, 2, 3, 4, 5, 6) | 拼接 | a和b集合顺序合并 |
++: | a ++:b | List(1, 2, 3, 4, 5, 6) | 拼接 | 同上 |
::: | a::::b | List(1, 2, 3, 4, 5, 6) | 拼接 | 同上 |
参考:https://blog.youkuaiyun.com/datadev_sh/article/details/79587108#t28
3. 数学运算符
+ - * / %
未分类
1. =>
定义函数, xxx => yyy
左边是函数变量,右边是函数返回值
2. <-
遍历中的<- 将变量赋给索引
for( i <- arrs )
3. ->
->方法是所有Scala对象都有的方法,返回一个二元的元组(A,B)
scala> 1 -> 2
res9: (Int, Int) = (1,2)
4. 神奇的下划线 _
参考:http://blog.youkuaiyun.com/i6448038/article/details/50017427
5. _N(下划线数字)
_N用于访问元组的第N个元素(N从1开始算起)。
val pair = (99, "Luftballons")
println(pair._1)
println(pair._2)