Agent X-Ray
RuntimeNotesAbout
Notes/代码工程/Rust 深度教材/README

Rust 深度教程

3 分钟 · 更新于 2026-09-01

Rust 深度教程

这是一条从语言规则走向系统设计的连续学习路线。15 章不按关键字堆知识点,而是围绕“值如何流动、状态如何表达、边界如何约束、系统如何验证”四个问题逐层推进。

使用方式

  • 第一次学习:按章节顺序运行示例,并完成每章的观察题与改造题。
  • 已有基础:从第 3 章开始,重点补齐所有权、Trait、生命周期、并发和异步。
  • 遇到编译错误:先写下你认为发生了什么,再阅读完整诊断;不要把 clone()unsafe 当作默认修复手段。

一、教程主线

Rust 的语法并不算庞大,真正需要建立的是一组可以迁移到任何项目的判断方法:

  1. 资源判断:值由谁拥有,何时释放,函数到底需要所有权还是借用?
  2. 状态判断:哪些状态可以同时存在,哪些状态互斥,能否用类型排除非法组合?
  3. 抽象判断:调用方需要知道具体类型,还是只需要某种行为契约?
  4. 边界判断:错误、模块、线程、异步任务和 unsafe 应停在哪一层?
  5. 验证判断:测试、文档、基准和编译器分别能证明什么,不能证明什么?

章节顺序按照这些问题的依赖关系安排:先看清值与类型,再建立抽象和工程边界,最后进入并发、异步与底层能力。


二、章节导航

text
语言地基:01 环境与反馈 → 02 表达式与控制流 → 03 所有权 → 04 数据建模
抽象工程:05 泛型与 Trait → 06 集合/错误/模块/测试 → 07 闭包与迭代器
资源并发:08 智能指针 → 09 线程并发 → 10 异步状态机 → 11 Unsafe 与宏
项目交付:12 Cargo 工程化 → 13 多线程 Web → 14 Tokio 服务 → 15 设计原则
章节主题学完后应能回答
第 1 章Rust 为什么值得学与环境搭建Rust 的约束换来了什么?如何建立稳定反馈循环?
第 2 章变量、类型、函数与流程控制绑定、表达式、类型推导和控制流怎样协作?
第 3 章所有权、借用、切片与内存模型谁负责释放资源?借用为什么既安全又有限制?
第 4 章结构体、枚举、模式匹配与方法如何让类型只允许合法状态?
第 5 章泛型、Trait、生命周期与特征对象静态抽象与动态抽象应该怎样选择?
第 6 章集合、错误、模块、测试与文档如何把单文件示例发展成有边界的 crate?
第 7 章闭包、迭代器与命令行实战如何把匹配策略和数据遍历拆成可组合流水线?
第 8 章Box、Rc、RefCell 与自引用唯一所有权、共享所有权和内部可变性怎样取舍?
第 9 章线程、消息、锁、原子与线程安全数据怎样安全跨线程移动、共享与同步?
第 10 章Future、Pin、Stream 与任务调度Future 为什么能暂停,执行器如何再次唤醒它?
第 11 章Unsafe、宏、类型系统与编译陷阱哪些安全证明由编译器承担,哪些必须人工维护?
第 12 章Cargo 工程化依赖、Feature、Workspace、构建与发布如何联动?
第 13 章从零实现多线程 Web 服务器阻塞服务如何演进到线程池与优雅关闭?
第 14 章用 Tokio 实现 Mini-RedisTask、Channel、背压和关闭协议怎样组成异步服务?
第 15 章写出可靠高性能 Rust 的原则如何把安全、性能与可维护性变成日常决策?

三、三条学习路线

路线 A:从零系统学习

按第 1—15 章推进。第 3—5 章不要追求速度:后续智能指针、并发和异步,本质上都在重新组合所有权、状态和抽象边界。

路线 B:已有其他语言经验

先快速完成第 1—2 章练习,再精读第 3—7 章。进入第 8 章前,确保你能解释 String&strBox<T>dyn Trait 的所有权差异。

路线 C:按问题定位

  • moved value、借用冲突、生命周期:第 3、5、8 章;
  • 数据状态混乱、分支遗漏:第 4 章;
  • 错误边界、模块组织、测试:第 6、12 章;
  • 闭包捕获与迭代器所有权:第 7 章;
  • 线程、异步与资源关闭:第 9、10、13、14 章;
  • unsafe 与性能判断:第 11、15 章。

四、每章的实践节奏

  1. 预测:运行前先判断代码能否编译、值是否会移动、输出是什么。
  2. 验证:使用 cargo checkcargo test 获取反馈。
  3. 解释:不用术语堆砌,写清楚所有者、借用者、状态和边界。
  4. 改造:更换数据、增加一个错误分支,或把循环改成迭代器。
  5. 复盘:总结一条可迁移到真实项目的设计原则。

建议的最小命令集 cargo fmt 保持结构清晰,cargo check 提供快速反馈,cargo clippy 暴露可疑写法,cargo test 固定行为。四者应成为每个练习的结束动作。


  • Claude Code Harness 深度教程
  • Pi-Agent 深度教程

本章目录
一、教程主线二、章节导航三、三条学习路线四、每章的实践节奏Related Documents
苏ICP备2025204887号-2