This commit is contained in:
罗祥 2019-06-04 09:14:35 +08:00
parent 22f26f07a6
commit d09ca11daa
2 changed files with 8 additions and 10 deletions

View File

@ -157,7 +157,7 @@ world
符号字面量写法为: `'标识符` ,这里 标识符可以是任何字母或数字的组合。符号字面量会被映射成`scala.Symbol`的实例,如:符号字面量 `'x `会被编译器翻译为`scala.Symbol("x")`。符号字面量可选方法很少,只能通过`.name`获取其名称。 符号字面量写法为: `'标识符` ,这里 标识符可以是任何字母或数字的组合。符号字面量会被映射成`scala.Symbol`的实例,如:符号字面量 `'x `会被编译器翻译为`scala.Symbol("x")`。符号字面量可选方法很少,只能通过`.name`获取其名称。
需要注意的是任意的同名symbols都指向同一个Symbol对象而不同名的symbols一定指向不同的Symbol对象。 注意:具有相同`name`的符号字面量一定指向同一个Symbol对象不同`name`的符号字面量一定指向不同的Symbol对象。
```scala ```scala
scala> val sym = 'ID008 scala> val sym = 'ID008
@ -209,7 +209,7 @@ Int类中包含了多个重载的`+`方法,用于分别接收不同类型的
### 3.2 逻辑运算符 ### 3.2 逻辑运算符
和其他语言一样在Scala中&&||的执行是短路的,即如果左边的表达式能确定整个结果,右边的表达式就不会被执行,这满足大多数使用场景。但是如果你需要在无论什么情况下,都执行右边的表达式,则可以使用&或|代替。 和其他语言一样在Scala中`&&``||`的执行是短路的,即如果左边的表达式能确定整个结果,右边的表达式就不会被执行,这满足大多数使用场景。但是如果你需要在无论什么情况下,都执行右边的表达式,则可以使用`&``|`代替。
### 3.3 赋值运算符 ### 3.3 赋值运算符

View File

@ -21,11 +21,11 @@ Scala中拥有多种集合类型主要分为可变的和不可变的集合两
## 二、集合结构 ## 二、集合结构
scala所有的集合类主要位于`scala.collection``scala.collection.mutable``scala.collection.immutable``scala.collection.generic`包中 ,大部分集合类存在三类变体,分别位于`scala.collection`, `scala.collection.immutable`, `scala.collection.mutable` Scala中的大部分集合类都存在三类变体分别位于`scala.collection`, `scala.collection.immutable`, `scala.collection.mutable`包中。还有部分集合类位于`scala.collection.generic`包下
- `scala.collection.immutable`包是中的集合是不可变的; - **scala.collection.immutable** 包是中的集合是不可变的;
- `scala.collection.mutable`包中的集合是可变的; - **scala.collection.mutable** 包中的集合是可变的;
- `scala.collection`包中的集合,既可以是可变的,也可以是不可变的。 - **scala.collection** 包中的集合,既可以是可变的,也可以是不可变的。
```scala ```scala
val sortSet = scala.collection.SortedSet(1, 2, 3, 4, 5) val sortSet = scala.collection.SortedSet(1, 2, 3, 4, 5)
@ -66,13 +66,13 @@ Scala中所有集合的顶层实现是`Traversable` 。它唯一的抽象方法
def foreach[U](f: Elem => U) def foreach[U](f: Elem => U)
``` ```
实现Traversable的集合类只需要实现这个抽象方法所有其他方法都可以从Traversable继承。Traversable中定义了其余的几十种的方法具体可以参考官方文档https://docs.scala-lang.org/overviews/collections/trait-traversable.html 实现`Traversable`的集合类只需要实现这个抽象方法,所有其他方法都可以从`Traversable继承`。Traversable中一共定义了几十种关于集合操作方法关于这些方法的说明可以参考官方文档[trait-traversable](https://docs.scala-lang.org/overviews/collections/trait-traversable.html)。
## 四、Trait Iterable ## 四、Trait Iterable
Iterable拓展了Traversable并定义了一些额外的方法Scala中所有的集合都直接或者间接实现了Iterable。Iterable中额外定义了十几种方法具体可以参考官方文档https://docs.scala-lang.org/overviews/collections/trait-iterable.html Scala中所有的集合都直接或者间接实现了`Iterable`特质,`Iterable`拓展自`Traversable`,并额外定义了十几种方法,关于这些方法的用途,官方文档上同样也有详细的说明:[trait-iterable](https://docs.scala-lang.org/overviews/collections/trait-iterable.html)。
@ -98,8 +98,6 @@ Iterable拓展了Traversable并定义了一些额外的方法Scala中所
## 参考资料 ## 参考资料
1. Martin Odersky . Scala编程(第3版)[M] . 电子工业出版社 . 2018-1-1
2. 凯.S.霍斯特曼 . 快学Scala(第2版)[M] . 电子工业出版社 . 2017-7
3. https://docs.scala-lang.org/overviews/collections/overview.html 3. https://docs.scala-lang.org/overviews/collections/overview.html
4. https://docs.scala-lang.org/overviews/collections/trait-traversable.html 4. https://docs.scala-lang.org/overviews/collections/trait-traversable.html
5. https://docs.scala-lang.org/overviews/collections/trait-iterable.html 5. https://docs.scala-lang.org/overviews/collections/trait-iterable.html