Rust 系统编程语言完全教程
Rust 系统编程语言完全教程
一门赋予每个人构建可靠且高效软件能力的语言。—— Rust 官方
教程简介
本教程共 25 章,从 Rust 的历史与设计哲学讲起,逐步深入到异步编程、宏系统、Docker 部署等高级主题。每章包含可运行代码示例、对比表格、注意事项、业务场景分析和扩展阅读,适合有其他语言基础的开发者系统学习 Rust。
前置要求
- 任一编程语言的基础知识(Python、Go、C/C++ 等)
- 基本的命令行操作能力
- 了解操作系统基础概念(进程、内存、文件系统)
目录
第一部分:入门基础
| 章节 |
标题 |
核心内容 |
| 01 |
Rust 语言概述 |
历史、设计哲学、内存安全、零成本抽象、适用场景 |
| 02 |
安装与环境配置 |
rustup、Cargo 配置、IDE、rust-analyzer |
| 03 |
Hello, Cargo |
cargo new/run/build、项目结构、Cargo.toml |
| 04 |
变量与数据类型基础 |
let/mut、遮蔽、常量、静态变量、类型推断 |
| 05 |
类型系统 |
基本类型、元组、数组、切片、字符串、枚举 |
第二部分:核心概念
| 章节 |
标题 |
核心内容 |
| 06 |
所有权系统 |
所有权、借用、生命周期、移动语义、引用规则 |
| 07 |
结构体 |
结构体、方法、关联函数、元组结构体、单元结构体 |
| 08 |
枚举与模式匹配 |
枚举、Option、Result、模式匹配、if let |
| 09 |
错误处理 |
Result、panic、unwrap、错误传播、自定义错误 |
| 10 |
常用集合 |
Vec、HashMap、BTreeMap、HashSet、迭代器 |
第三部分:抽象与泛化
| 章节 |
标题 |
核心内容 |
| 11 |
Trait 系统 |
trait、默认实现、trait 对象、动态分发、派生 |
| 12 |
泛型 |
泛型函数、泛型结构体、生命周期、trait bound |
| 13 |
闭包 |
Fn/FnMut/FnOnce、捕获模式、函数式编程 |
| 14 |
迭代器 |
适配器、消费者、自定义迭代器、性能对比 |
第四部分:智能指针与并发
| 章节 |
标题 |
核心内容 |
| 15 |
智能指针 |
Box、Rc、Arc、RefCell、Cell、Deref、Drop |
| 16 |
并发编程 |
线程、Mutex、RwLock、Channel、Send/Sync |
| 17 |
异步编程 |
async/await、Tokio、Future、Pin、Stream |
第五部分:工程实践
| 章节 |
标题 |
核心内容 |
| 18 |
模块系统 |
mod、pub、use、crate、工作空间 |
| 19 |
测试 |
单元测试、集成测试、assert、属性宏 |
| 20 |
Cargo 深入 |
特性、依赖管理、构建配置、发布、profile |
| 21 |
Crates 生态 |
crates.io、serde、tokio、reqwest、clap |
第六部分:进阶专题
| 章节 |
标题 |
核心内容 |
| 22 |
Unsafe Rust |
裸指针、FFI、C 绑定、extern、ABI |
| 23 |
宏系统 |
声明宏、过程宏、derive 宏、属性宏 |
| 24 |
Docker 与部署 |
多阶段构建、静态链接、musl、交叉编译 |
| 25 |
最佳实践 |
代码风格、性能优化、clippy、rustfmt、常见陷阱 |
学习路线建议
入门基础 (01-05) → 核心概念 (06-10) → 抽象与泛化 (11-14)
↓
进阶专题 (22-25) ← 工程实践 (18-21) ← 智能指针与并发 (15-17)
- 快速入门路径: 01 → 02 → 03 → 04 → 05 → 06 → 07 → 08 → 09
- 后端开发路径: 入门基础 → 10 → 16 → 17 → 18 → 20 → 21 → 24
- 系统编程路径: 入门基础 → 11 → 12 → 15 → 16 → 22 → 23 → 25
参考资源