📦 第一部分: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(英文)