知识地图 · Scala 学习链路
十章的前后依赖:先会跑,再会写表达式,然后函数化、会用集合与类,最后写下可靠又并发的代码。
主链路
章依赖关系
| 章 | 主题 | 前置 | 学完可以做什么 | 讲数 | 周次 |
|---|---|---|---|---|---|
| Scala 入门与环境 | 入门 | — | 能跑 HelloWorld 与 REPL | 2 | 第1周 |
| 变量、类型与表达式 | 语法 | 第1章:会跑程序 | 会写 val/var 与插值 | 3 | 第2-3周 |
| 控制结构 | 流程 | 第2章:表达式与类型 | 会写 if/for/match | 3 | 第3-4周 |
| 函数与高阶函数 | 函数 | 第2-3章:表达式与流程 | 会用 map / filter / reduce | 3 | 第5-6周 |
| 集合 | 集合 | 第2-4章:函数与推导式 | 会处理 List / Map 数据 | 3 | 第7-8周 |
| 类与对象 | 面向对象 | 第4-5章:函数与集合 | 会写类、单例与 trait | 3 | 第8-9周 |
| 面向对象进阶 | 进阶 | 第6章:类与 trait | 会做数据建模 | 3 | 第10-11周 |
| 异常与 Option | 健壮性 | 第4-7章:高阶函数与建模 | 会安全处理失败 | 3 | 第12-13周 |
| 泛型与隐式 | 类型系统 | 第6-8章:类、trait、Option | 读得懂 Spark / Flink 的 API | 2 | 第13-14周 |
| 实战:文件、JSON 与并发 | 实战 | 全部前置章节 | 能交付一个工具 | 3 | 第14-16周 |
讲次与知识点对照
| 讲次 | 标题 | 本周 | 知识点数 | 示例代码 |
|---|---|---|---|---|
| 1.1 | Scala 是什么:JVM 上的函数式 + 面向对象 | 第1周 | 4 | 3 |
| 1.2 | 环境搭建与第一个程序(JDK、sbt / scala-cli、IDEA、REPL) | 第1周 | 3 | 3 |
| 2.1 | val 与 var:不可变优先与类型推断 | 第2周 | 4 | 3 |
| 2.2 | 基本类型与字符串插值 s/f/raw | 第2周 | 4 | 3 |
| 2.3 | 运算符与块表达式:一切皆有值 | 第3周 | 4 | 3 |
| 3.1 | if / else 是表达式 | 第3周 | 3 | 3 |
| 3.2 | 循环:while、for、for-yield 与守卫 | 第4周 | 4 | 3 |
| 3.3 | match 表达式入门与模式匹配基础 | 第4周 | 4 | 3 |
| 4.1 | 定义函数:默认参数、命名参数、可变参数、单表达式函数 | 第5周 | 4 | 3 |
| 4.2 | 函数是值:匿名函数、函数类型、柯里化、闭包 | 第5周 | 4 | 3 |
| 4.3 | 高阶函数:map / filter / reduce / flatMap / foreach | 第6周 | 4 | 3 |
| 5.1 | List、Array、Vector:创建与常用操作 | 第7周 | 3 | 3 |
| 5.2 | Map、Set、Tuple:键值对、去重与配对 | 第7周 | 3 | 3 |
| 5.3 | 不可变与可变集合:ListBuffer、排序与分组 | 第8周 | 3 | 3 |
| 6.1 | class:主构造器、字段、方法与访问控制 | 第8周 | 3 | 3 |
| 6.2 | object 与伴生对象:单例、apply / unapply | 第9周 | 3 | 3 |
| 6.3 | trait:接口、混入与多重继承 | 第9周 | 3 | 3 |
| 7.1 | 继承与抽象类:override、super 与多态 | 第10周 | 3 | 3 |
| 7.2 | case class:样例类与自动生成的方法 | 第10周 | 3 | 3 |
| 7.3 | sealed + match:用模式匹配做数据建模 | 第11周 | 3 | 3 |
| 8.1 | try / catch / finally 与自定义异常 | 第12周 | 3 | 2 |
| 8.2 | Option / Some / None:告别 null | 第12周 | 4 | 2 |
| 8.3 | Either 与 Try:错误处理的三种选型 | 第13周 | 4 | 2 |
| 9.1 | 类型参数与上下界:泛型类与泛型方法 | 第13周 | 4 | 2 |
| 9.2 | implicit:隐式参数、隐式类与 Scala 3 的 given | 第14周 | 4 | 2 |
| 10.1 | 文件读写:Source / Using / java.nio | 第14周 | 4 | 2 |
| 10.2 | JSON 解析与分组统计报表 | 第15周 | 3 | 2 |
| 10.3 | Future 并发与综合项目:成绩分析与词频统计 | 第16周 | 4 | 2 |
三条主线
① 语法线(1-3 章)
环境、val/var、插值、表达式、if/for/match——先把“能写、能看懂报错”练出来。
② 抽象线(4-7 章)
函数是值、高阶函数、集合、类与 trait、case class:从“一堆语句”升级成“有结构、可组合”的代码。
③ 工程线(8-10 章)
Option / Either / Try 处理失败,泛型与隐式读源码,文件与 Future 收尾项目。
建议走法零基础按 1→10 顺序;会 Java 或 Python 的可以从第 2 章快速过一遍语法,重点放在第 4 章(函数是值)与第 7 章(case class + 模式匹配)——这两块是 Scala 与其他语言最大的差别;目标是学 Spark 的,第 4、5、7 章必须扎实。