知识地图 · Scala 学习链路

十章的前后依赖:先会跑,再会写表达式,然后函数化、会用集合与类,最后写下可靠又并发的代码。

主链路

章依赖关系

章主题前置学完可以做什么讲数周次
Scala 入门与环境入门—能跑 HelloWorld 与 REPL2第1周
变量、类型与表达式语法第1章:会跑程序会写 val/var 与插值3第2-3周
控制结构流程第2章:表达式与类型会写 if/for/match3第3-4周
函数与高阶函数函数第2-3章:表达式与流程会用 map / filter / reduce3第5-6周
集合集合第2-4章:函数与推导式会处理 List / Map 数据3第7-8周
类与对象面向对象第4-5章:函数与集合会写类、单例与 trait3第8-9周
面向对象进阶进阶第6章:类与 trait会做数据建模3第10-11周
异常与 Option健壮性第4-7章:高阶函数与建模会安全处理失败3第12-13周
泛型与隐式类型系统第6-8章:类、trait、Option读得懂 Spark / Flink 的 API2第13-14周
实战:文件、JSON 与并发实战全部前置章节能交付一个工具3第14-16周

讲次与知识点对照

讲次标题本周知识点数示例代码
1.1Scala 是什么:JVM 上的函数式 + 面向对象第1周43
1.2环境搭建与第一个程序(JDK、sbt / scala-cli、IDEA、REPL)第1周33
2.1val 与 var:不可变优先与类型推断第2周43
2.2基本类型与字符串插值 s/f/raw第2周43
2.3运算符与块表达式:一切皆有值第3周43
3.1if / else 是表达式第3周33
3.2循环:while、for、for-yield 与守卫第4周43
3.3match 表达式入门与模式匹配基础第4周43
4.1定义函数:默认参数、命名参数、可变参数、单表达式函数第5周43
4.2函数是值:匿名函数、函数类型、柯里化、闭包第5周43
4.3高阶函数:map / filter / reduce / flatMap / foreach第6周43
5.1List、Array、Vector:创建与常用操作第7周33
5.2Map、Set、Tuple:键值对、去重与配对第7周33
5.3不可变与可变集合:ListBuffer、排序与分组第8周33
6.1class:主构造器、字段、方法与访问控制第8周33
6.2object 与伴生对象:单例、apply / unapply第9周33
6.3trait:接口、混入与多重继承第9周33
7.1继承与抽象类:override、super 与多态第10周33
7.2case class:样例类与自动生成的方法第10周33
7.3sealed + match:用模式匹配做数据建模第11周33
8.1try / catch / finally 与自定义异常第12周32
8.2Option / Some / None:告别 null第12周42
8.3Either 与 Try:错误处理的三种选型第13周42
9.1类型参数与上下界:泛型类与泛型方法第13周42
9.2implicit:隐式参数、隐式类与 Scala 3 的 given第14周42
10.1文件读写:Source / Using / java.nio第14周42
10.2JSON 解析与分组统计报表第15周32
10.3Future 并发与综合项目:成绩分析与词频统计第16周42

三条主线

① 语法线(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 章必须扎实。