EPFL 编程方法实验室 Scala 语言规范 v2.7 PDF 文档
Scala 是一门类 Java 的编程语言,它结合了面向对象编程和函数式编程。Scala 是纯面向对象的,每个值都是一个对象,对象的类型和行为由类定义,不同的类可以通过混入(mixin) 的方式组合在一起。Scala 的设计目的是要和两种主流面向对象编程语言Java 和 C#实现无缝互操作,这两种主流语言都非纯面向对象。
Scala 也是一门函数式变成语言,每个函数都是一个值,原生支持嵌套函数定义和高阶函数。Scala 也支持一种通用形式的模式匹配,模式匹配用来操作代数式类型,在很多函数式语言中都有实现。
目录
1. 词法 ........ 1
1.1. 标识符 1
1.2. 换行字符........ 2
1.3. 字面值 5
1.3.1. 整型字面值 ........ 5
1.3.2. 浮点型字面值 ....... 5
1.3.3. 布尔型字面值 ....... 6
1.3.4. 字符型字面值 ....... 6
1.3.5. 字符串字面值 ....... 6
1.3.6. 转义序列 . 7
1.3.7. 记号字面值 ........ 8
1.4. 空白与注释 ...... 8
1.5. XML 模式 ....... 8
2. 标识符,命名和域....... 11
3. 类型 ....... 13
3.1. 路径 . 14
3.2. 值类型 ........ 14
3.2.1. 单例类型 14
3.2.2. 类型映射 14
3.2.3. 类型指示 15
3.2.4. 参数化类型 ....... 15
3.2.5. 元组类型 16
3.2.6. 标注类型 16
3.2.7. 复合类型 16
3.2.8. 中缀类型 17
3.2.9. 函数类型 18
3.2.10. 既存类型 18
3.2.11. Predef 中定义的原始类型 ..... 20
3.3. 非值类型....... 20
3.3.1. 方法类型 20
3.3.2. 多态方法类型 ...... 21
3.3.3. 类型构造器 ....... 21
3.4. 基本类型和成员定义 ....... 22
3.5. 类型间的关系 ... 23
3.5.1. 类型恒等 23
3.5.2. 一致性 .. 23
3.6. 易变类型....... 25
3.7. 类型擦除....... 25
4. 基本声明与定义 ........ 28
4.1. 值声明与定义 ... 28
4.2. 变量声明与定义 .. 29
4.3. 类型声明与类型别名 ....... 31
4.4. 类型参数....... 32
4.5. 差异标注....... 33
4.6. 函数声明与定义 .. 34
4.6.1. 叫名参数 35
4.6.2. 重复参数 35
4.6.3. 过程 ... 36
4.6.4. 方法返回类型推断 .. 37
4.7. Import 子句 ... 37
5. 类与对象 .... 39
5.1. 模板 . 39
5.1.1. 构造器调用 ....... 40
5.1.2. 类的线性化 ....... 41
5.1.3. 类成员 .. 42
5.1.4. 覆盖 ... 42
5.1.5. 继承闭包 43
5.1.6. 前置定义 43
5.2. 修饰符 ........ 44
5.3. 类定义 ........ 46
5.3.1. 构造器定义 ....... 48
5.3.2. Case 类 . 49
5.3.3. 特征 ... 50
5.4. 对象定义....... 51
6. 表达式 ...... 53
6.1. 表达式类型化 ... 54
6.2. 字面值 ........ 54
6.3. Null 值 ....... 54
6.4. 指示器 ........ 55
6.5. This 和 Super .. 55
6.6. 函数应用....... 56
6.7. 方法值 ........ 57
6.8. 类型应用....... 58
6.9. 元组 . 58
6.10. 实例创建表达式 ....... 58
6.11. 代码块 ..... 59
6.12. 前缀,中缀及后缀运算 .. 60
6.12.1. 前缀运算 60
6.12.2. 后缀操作 60
6.12.3. 中缀操作 60
6.12.4. 赋值算符 61
6.13. 类型化的表达式 ....... 61
6.14. 标注表达式 .. 62
6.15. 赋值....... 62
6.16. 条件表达式 .. 63
6.17. While 循环表达式 ..... 63
6.18. Do 循环表达式 ........ 64
6.19. For 语句段.. 64
6.20. Return 表达式........ 66
6.21. Throw 表达式 66
6.22. Try 表达式.. 66
6.23. 匿名函数 ... 67
6.24. 语句....... 68
6.25. 隐式转换 ... 69
6.25.1. 值转换 .. 69
6.25.2. 方法转换 69
6.25.3. 重载解析 69
6.25.4. 本地类型推断 ...... 71
6.25.5. Eta 扩展 73
7. 隐含参数和视图 ........ 75
7.1. implicit 修饰符 75
7.2. 隐含参数....... 75
7.3. 视图 . 78
7.4. 视图边界....... 79
8. 模式匹配 .... 81
8.1. 模式 . 81
8.1.1. 变量模式 82
8.1.2. 类型化模式 ....... 82
8.1.3. 字面值模式 ....... 82
8.1.4. 稳定标识符模式 .... 82
8.1.5. 构造器模式 ....... 83
8.1.6. 元组模式 83
8.1.7. 提取模式 83
8.1.8. 模式序列 84
8.1.9. 中缀操作符模式 .... 84
8.1.10. 模式选择 84
8.1.11. XML 模式 84
8.1.12. 正则表达式模式 .... 84
8.1.13. 恒等模式 85
8.2. 类型模式....... 85
8.3. 模式中的类型参数推断 ...... 85
8.4. 模式匹配表达式 .. 87
8.5. 模式匹配匿名函数 88
9. 顶级定义 .... 91
9.1. 编译单元....... 91
9.2. 打包 . 91
9.3. 包引用 ........ 91
9.4. 程序 . 92
10. XML 表达式与模式 ... 93
10.1. XML 表达式.. 93
10.2. XML 模式 ... 94
11. 用户定义的标注 ..... 97
12. Scala 标准库 ..... 101
12.1. 根类...... 101
12.2. 值类...... 103
12.2.1. 数字值类型 ...... 103
12.2.2. Boolean 类...... 105
12.2.3. Unit 类 106
12.3. 标准引用类 . 106
12.3.1. String 类....... 106
12.3.2. Tuple 类 ........ 106
12.3.3. Function 类..... 107
12.3.4. Array 类 ........ 107
12.4. Node 类 ... 109
12.5. Predef 对象 ........ 11
下载地址:https://www.wenjiangs.com/wp-content/uploads/2025/04/L8xBd63cJgx8g7ml.rar
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

上一篇: C++ 用户指南 Sun™ Studio 11 PDF 文档
下一篇: 没有了
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论