为什么值得花时间啃 Rust
Rust 的定位不是让你多背一套语法,而是解决一类真实痛点:写底层、高性能或并发程序时,要么用 C/C++ 跟内存泄漏、野指针、段错误死磕,要么用带垃圾回收的语言牺牲确定性延迟。这门课对应的是 O'Reilly《Rust程序设计(第2版)》的配套讲解,它把 Rust 的所有权、借用、生命周期拆成可操作的工程规则,而不是停留在概念演示。如果你的工作场景涉及 CLI 工具、网络服务、嵌入式、WASM 模块,或者要重构一段跑得慢、崩得莫名其妙的 C 代码,Rust 能让你在编译阶段就拦掉大部分内存与并发问题。值不值得学的判断标准很简单:如果你只写脚本或纯业务 CRUD,短期收益有限;如果你要碰性能、系统层、长期维护的底层组件,这门课的投入产出比会随项目复杂度上升而快速变正。
适合什么基础,建议先看哪几块
这份资料不适合完全没写过编译型语言的新手。最顺滑的基础是:你用过 C、C++、Java 或 Go 中的任意一种,知道指针、栈堆分配、泛型大致是怎么回事,写过几千行实际跑起来的代码。如果只碰过 Python 或 JavaScript,建议先补“变量生命周期”和“值传递”的直觉,否则所有权和借用检查器会让你在第三章卡住。建议先看的顺序是:第一章(理解 Rust 为什么这样设计)、第二章(导览,建立整体地图)、所有权与借用相关章节(这是全书的分水岭),然后跳到错误处理和模块组织。类型系统、并发、宏这些可以等手热了再回头啃。不要从头到尾线性读,容易在细节里耗光耐心。
学完能独立做什么,资料怎么配合练习
学完的标准不是“看完所有章节”,而是你能独立完成三件事:第一,写一个带命令行参数解析、读文件、输出结构化结果的小工具;第二,定义自己的 struct 和 trait,用泛型组合出可复用的接口,并让借用检查器不再报错;第三,用 Rust 的错误处理机制替代 panic,写出对调用方友好的库函数。资料里每一章都配有 HTML 正文和对应音频,建议的用法是:先用 HTML 快速扫一遍代码示例和关键概念,动手把示例敲进本地编译器跑通,遇到编译器报错时不要急着跳过——Rust 的报错信息本身就是最好的教材,逐条读懂再改。音频适合通勤时听第二章这种偏概念的部分,但涉及所有权和生命周期的章节一定要回到文本,对照代码逐行看。练习时准备一个本地项目目录,每章挑两三个示例改写,比如把官方示例的函数签名换一种写法,看编译器是否还放行。这种主动试错比被动读完收益大得多,也是把资料转化成实际编码能力的唯一捷径。
Rust程序设计(第2版)
课程目录
* 01 O'Reilly Media, Inc.介绍.html (0.01 MB)
* 01 O'Reilly Media, Inc.介绍.mp3 (0.40 MB)
* 02 专家推荐.html (0.01 MB)
* 02 专家推荐.mp3 (0.61 MB)
* 03 译者序.html (0.01 MB)
* 03 译者序.mp3 (1.49 MB)
* 04 前言.html (0.08 MB)
* 04 前言.mp3 (2.30 MB)
* 05 中文版审读致谢.html (0.01 MB)
* 05 中文版审读致谢.mp3 (0.25 MB)
* 06 第 1 章 系统程序员也能享受美好.html (0.02 MB)
* 06 第 1 章 系统程序员也能享受美好.mp3 (2.34 MB)
* 07 第 2 章 Rust 导览(1).html (0.02 MB)
* 07 第 2 章 Rust 导览(1).mp3 (2.48 MB)
* 08 第 2 章 Rust 导览(2).html (0.55 MB)
* 08 第 2 章 Rust 导览(2).mp3 (12.33 MB)
* 09 第 3 章 基本数据类型.html (0.26 MB)
* 09 第 3 章 基本数据类型.mp3 (11.58 MB)
* 10 第 4 章 所有权与移动.html (0.72 MB)
* 10 第 4 章 所有权与移动.mp3 (8.46 MB)
* 11 第 5 章 引用.html (0.55 MB)
* 11 第 5 章 引用.mp3 (11.47 MB)
* 12 第 6 章 表达式.html (0.06 MB)
* 12 第 6 章 表达式.mp3 (7.23 MB)
* 13 第 7 章 错误处理.html (0.04 MB)
* 13 第 7 章 错误处理.mp3 (6.56 MB)
* 14 第 8 章 crate 与模块(1).html (0.08 MB)
* 14 第 8 章 crate 与模块(1).mp3 (7.22 MB)
* 15 第 8 章 crate 与模块(2).html (0.27 MB)
* 15 第 8 章 crate 与模块(2).mp3 (5.38 MB)
* 16 第 9 章 结构体.html (0.09 MB)
* 16 第 9 章 结构体.mp3 (7.93 MB)
* 17 第 10 章 枚举与模式.html (0.36 MB)
* 17 第 10 章 枚举与模式.mp3 (7.37 MB)
* 18 第 11 章 特型与泛型(1).html (0.15 MB)
* 18 第 11 章 特型与泛型(1).mp3 (7.72 MB)
* 19 第 11 章 特型与泛型(2).html (0.03 MB)
* 19 第 11 章 特型与泛型(2).mp3 (4.27 MB)
* 20 第 12 章 运算符重载.html (0.05 MB)
* 20 第 12 章 运算符重载.mp3 (5.13 MB)
* 21 第 13 章 实用工具特型.html (0.15 MB)
* 21 第 13 章 实用工具特型.mp3 (10.71 MB)
* 22 第 14 章 闭包.html (0.23 MB)
* 22 第 14 章 闭包.mp3 (6.68 MB)
* 23 第 15 章 迭代器(1).html (0.03 MB)
* 23 第 15 章 迭代器(1).mp3 (3.88 MB)
* 24 第 15 章 迭代器(2).html (0.20 MB)
* 24 第 15 章 迭代器(2).mp3 (12.16 MB)
* 25 第 16 章 集合(1).html (0.26 MB)
* 25 第 16 章 集合(1).mp3 (8.52 MB)
* 26 第 16 章 集合(2).html (0.20 MB)
* 26 第 16 章 集合(2).mp3 (5.43 MB)
* 27 第 17 章 字符串与文本(1).html (0.39 MB)
* 27 第 17 章 字符串与文本(1).mp3 (9.36 MB)
* 28 第 17 章 字符串与文本(2).html (0.05 MB)
* 28 第 17 章 字符串与文本(2).mp3 (6.55 MB)
* 29 第 18 章 输入与输出.html (0.20 MB)
* 29 第 18 章 输入与输出.mp3 (8.79 MB)
* 30 第 19 章 并发(1).html (0.77 MB)
* 30 第 19 章 并发(1).mp3 (10.14 MB)
* 31 第 19 章 并发(2).html (0.08 MB)
* 31 第 19 章 并发(2).mp3 (6.84 MB)
* 32 第 20 章 异步编程(1).html (0.38 MB)
* 32 第 20 章 异步编程(1).mp3 (10.56 MB)
* 33 第 20 章 异步编程(2).html (0.15 MB)
* 33 第 20 章 异步编程(2).mp3 (9.01 MB)
* 34 第 20 章 异步编程(3).html (0.22 MB)
* 34 第 20 章 异步编程(3).mp3 (4.41 MB)
* 35 第 21 章 宏.html (0.39 MB)
* 35 第 21 章 宏.mp3 (8.93 MB)
* 36 第 22 章 不安全代码(1).html (0.03 MB)
* 36 第 22 章 不安全代码(1).mp3 (4.25 MB)
* 37 第 22 章 不安全代码(2).html (0.39 MB)
* 37 第 22 章 不安全代码(2).mp3 (11.29 MB)
* 38 第 23 章 外部函数.html (0.07 MB)
* 38 第 23 章 外部函数.mp3 (9.82 MB)
* 39 作者介绍.html (0.01 MB)
* 39 作者介绍.mp3 (0.37 MB)
* 40 封面介绍.html (0.01 MB)
* 40 封面介绍.mp3 (0.29 MB)
* 41 看完了.html (0.01 MB)
* 41 看完了.mp3 (0.14 MB)






