1.简介 |
1.1 编程语言 Overview
1.2 Scala 的发展历程
1.3 Scala 语言的特性
1.4 Scala 初体验
1.5 社区和相关书籍推荐
|
2.安装配置和基本操作 |
2.1下载 Scala 编译器
2.2环境变量配置
2.3使用 Scala 的交互式 shell
2.4使用 IDE
|
3.REPL使用方式 |
3.1启动,使用
3.2 REPL 的命令行选项
3.3粘贴代码块
3.4:load 命令
3.5增加 JAR 文件和 Class 到 REPL 的 classpath
3.6 REPL 中运行 Shell 命令 |
4.基本类型和操作 |
4.1整数表示
4.2 String 表示
4.3 Boolean 表示
4.4操作符
4.5对象的相等性
4.6操作符优先级和结合性 |
5.控制结构 |
5.1 If 表达式
5.2 While 表达式
5.3 For 表达式
5.4异常处理
5.5关于break和continue |
6.函数式编程 |
6.1基本概念
6.2可变长参数、命名参数、带默认值的函数
6.3部分应用函数
6.4闭包
6.5传名和传值
6.6递归和尾递归
6.7高阶函数
6.8柯里化 |
7.类和对象 |
7.1 class 定义
7.2定义操作符
7.3隐式转换
7.4 Scala 的类库层级结构
7.5 Scala 的 package
7.6类,成员,方法的访问权限 |
8.类的继承 |
8.1抽象类
8.2扩展类
8.3重载 methods 和 fields
8.4调用超类的构造器
8.5构造顺序
8.6多态和动态绑定
8.7定义final 成员 |
9.特质 |
9.1什么是“特质”,”特质”如何工作?
9.2 Ordered 特质介绍
9.3以栈的形式扩展多个特质
9.4用特质还是抽象类 |
10.Generic 和 Subtyping
及 Variance |
10.1 LSP介绍
10.2类型参数
10.3类型边界
10.4 Variance |
11.模式匹配 |
11.1 Case classes
11.2模式匹配
11.3模式的种类
11.4模式匹配的顺序
11.5 Sealed classes
11.6 Option 类型 |
12.抽取器 |
12.1 什么是抽取器
12.2 0 个 1 个变量的模式
12.3 可变长度的抽取器
12.4 抽取器和序列模式
12.5 正则表达式 |
13.隐式转换和参数 |
13.1什么是隐式转换
13.2隐式转换规则
13.3使用隐式转换的情况
13.4隐式转换优先级
13.5上下文定界和视图定界
13.6隐式转换和类型 |
14.List 介绍 |
14.1 List的构造
14.2 List的基本操作
14.3 List模式匹配
85. 14.4 ListBuffer介绍 |
15.For 表达式深入探讨 |
15.1 For 表达式介绍
15.2模式匹配
15.3 For表达式的转换过程 |
16.Annotations |
16.1什么是注解
16.2 Scala 注解 VS Java 注解
16.3什么可以被注解
16.4注解参数
16.5自定义注解实现
96. 16.6针对Java特性的注解
97. 16.7用于优化的注解
98. 16.8用于错误和警告的注解 |
17.对象相等性 |
17.1 Scala 中对象相等性的基本概念
17.2如何编写相等性的方法 |
18.与 Java 交互 |
18.1 Scala 中如何使用 Java 类
18.2 Java 中如何使用 Scala 类 |