📦 第一部分:Rust 基础语法
1. Rust 简介与环境搭建
- Rust 是什么?特点与应用场景
- Rust 与 C/C++、Go、Java 的对比
- 安装 Rust(rustup, cargo)
- 使用 VSCode + Rust 插件
- 第一个 Rust 程序:Hello, world!
- Cargo 包管理工具详解
2. 基础语法与数据类型
- 变量与可变性(mut)
- 基本数据类型(整数、浮点数、布尔、字符)
- 元组与数组
- 常量与 shadowing
3. 控制流程
- if / else 表达式
- loop, while, for 循环
- match 模式匹配
- if let 与 while let
📘 第二部分:函数、所有权与内存安全
4. 函数与模块系统
- 函数定义与调用
- 表达式与返回值
- 模块(mod、use、crate)
- 可见性 pub / 私有
5. 所有权与借用(核心机制)
- 所有权机制详解
- 移动语义 vs 复制语义
- 引用与借用(&、&mut)
- 生命周期初探
6. 数据结构与集合类型
- 字符串(String vs &str)
- Vector、HashMap
- Option 与 Result 枚举
- 模式匹配与解构
🧰 第三部分:错误处理与泛型
7. 错误处理机制
- panic 与 recover
- Result 的使用与组合
?
操作符的语法糖- 自定义错误类型
8. 泛型与 trait
- 函数和结构体中的泛型
- trait 定义与实现
- trait bound 限制
- impl Trait 与 dyn Trait
- 常见 trait(Display、Debug、Clone、Copy)
9. 生命周期详解
- 生命周期的定义与作用
- 函数中的生命周期标注
- 生命周期省略规则
- 'static 生命周期
🧱 第四部分:进阶语言特性
10. 所有权进阶与智能指针
- Box、Rc、Arc、RefCell 等指针
- 所有权与引用计数
- 多线程下的 Arc + Mutex
- interior mutability 模式
11. 闭包与迭代器
- 闭包语法与 Fn/FnMut/FnOnce
- 迭代器 trait 与常用方法(map, filter, fold, etc)
- 自定义迭代器
12. 宏系统基础
- 宏 vs 函数
- 宏_rules 的基本写法
- 属性宏与过程宏(简单了解)
📚 第五部分:实战与生态
13. Rust 项目实战
- 构建命令行工具(clap)
- 构建 Web 服务(actix-web / axum)
- 构建异步项目(async/await)
- 构建库 crate 并发布到 crates.io
14. 测试与文档
- 单元测试与集成测试
- 文档注释与 cargo doc
- Benchmark 与 profiling 工具
15. Rust 异步编程
- Future trait 基础
- async/await 使用方式
- tokio / async-std 框架
- async stream, channel, select
🧠 第六部分:进阶与系统编程方向(可选)
16. FFI 与底层开发
- 与 C 互操作(unsafe, extern)
- unsafe Rust 的基本规则
- 内联汇编
- 操作裸指针
17. 编译原理与宏系统进阶
- proc-macro 工作原理
- syn 与 quote 库解析
- 自定义 DSL 与编译器插件开发
18. 编写操作系统或嵌入式应用
- no_std 编程
- Rust for embedded
- 基于 Rust 的 OS 项目(如
tock
,redox
,blog_os
)
🛠 学习资料推荐
官方资源:
- The Rust Programming Language(The Book)
- Rust by Example
- Rust 官方文档
视频 & 教程:
- Rustlings:练习题项目
- Rust 实战课程(中文)
- Learn Rust in 1 Month(英文)