从零开始系统学习 Rust 编程语言
本教程共 31 章 + 9 个实战项目,分为六个部分:
| 章节 |
标题 |
说明 |
| 第 01 章 |
简介与环境搭建 |
Rust 特点、安装、第一个程序 |
| 第 02 章 |
第一个 Rust 程序 |
程序结构、编译运行、Cargo 入门 |
| 第 03 章 |
变量与可变性 |
变量声明、可变性、常量、静态变量 |
| 第 04 章 |
数据类型 |
标量类型、复合类型、类型推断 |
| 第 05 章 |
函数 |
函数定义、参数、返回值、闭包简介 |
| 第 06 章 |
控制流 |
条件表达式、循环、模式匹配 |
| 章节 |
标题 |
说明 |
| 第 07 章 |
所有权与借用 |
所有权系统、移动语义、借用规则 |
| 第 08 章 |
引用与借用 |
引用类型、可变引用、悬垂引用 |
| 第 09 章 |
切片 |
切片类型、字符串切片、数组切片 |
| 第 10 章 |
结构体 |
结构体定义、方法、关联函数 |
| 第 11 章 |
枚举与模式匹配 |
枚举定义、Option、match、if let |
| 章节 |
标题 |
说明 |
| 第 12 章 |
数组与 Vec |
数组、动态数组 Vec、常见操作 |
| 第 13 章 |
HashMap |
哈希表、增删改查、自定义键 |
| 第 14 章 |
错误处理 |
Result、Option、panic、错误传播 |
| 第 15 章 |
泛型 |
泛型函数、泛型结构体、约束 |
| 第 16 章 |
Trait |
Trait 定义、实现、派生 Trait |
| 第 17 章 |
生命周期 |
生命周期标注、省略规则、'static |
| 第 18 章 |
闭包 |
闭包语法、捕获环境、Fn 系列 Trait |
| 第 19 章 |
迭代器 |
Iterator trait、适配器、消费器 |
| 章节 |
标题 |
说明 |
| 第 20 章 |
包和模块 |
Crate、模块系统、可见性 |
| 第 21 章 |
Cargo 与 Crates |
包管理、依赖配置、发布 |
| 第 22 章 |
智能指针 |
Box、Rc、Arc、RefCell |
| 第 23 章 |
并发编程 |
线程、消息传递、同步原语 |
| 第 24 章 |
Unsafe Rust |
裸指针、FFI、不安全代码 |
| 第 25 章 |
宏 |
macro_rules!、过程宏、内置宏 |
| 第 26 章 |
命令行工具 |
Clap、彩色输出、交互 CLI |
| 第 27 章 |
Web 服务器 |
Axum、Actix-web、REST API |
| 第 28 章 |
测试与文档 |
单元测试、集成测试、文档测试 |
| 项目 |
标题 |
说明 |
| 项目一 |
待办事项 CLI |
命令行待办事项管理工具 |
| 项目二 |
文件搜索工具 |
类似 grep 的文件搜索工具 |
| 项目三 |
REST API 服务 |
使用 Axum 构建 Web API |
| 项目四 |
日志分析工具 |
解析和分析日志文件 |
| 项目五 |
聊天室应用 |
WebSocket 实时聊天应用 |
| 项目六 |
简易键值存储 |
类似 Redis 的内存数据库 |
| 项目七 |
网络爬虫 |
异步爬取网页内容 |
| 项目八 |
图片处理工具 |
批量处理图片 |
| 项目九 |
简易解释器 |
小型编程语言解释器 |
| 章节 |
标题 |
说明 |
| 第 29 章 |
Rust 2024 Edition |
新特性、现代 crate、工具链 |
| 第 30 章 |
异步编程 |
Future、async/await、Tokio 运行时 |
| 第 31 章 |
WebAssembly |
WASM 基础、wasm-bindgen、实战项目 |
编译器是免费导师,错误信息是学习线索而非障碍
Rust 学习曲线陡峭是业内共识,本教程采用以下策略帮助初学者:
- 分层递进:先熟练基础语法(1-6章),再攻克所有权(第7章是核心难点),最后进阶
- 场景驱动:每个概念从"为什么需要"开始,用实际问题引入
- 对比学习:与已知语言对比(如:
Option<T> vs null,&mut vs Java引用)
- 编译器当导师:教会读懂错误信息,编译器是最好的老师
- 按顺序阅读第 1-11 章,打好基础
- 完成每章的练习题
- 编写小项目巩固知识
- 深入学习第 12-19 章
- 理解 Rust 独特的类型系统
- 阅读优秀开源项目代码
- 学习第 20-28 章
- 选择合适的框架和库
- 完成第五部分的项目实战
- 从 CLI 工具开始(项目一、二)
- 学习 Web 开发(项目三、五)
- 进阶数据处理(项目四、六、七、八)
- 挑战系统编程(项目九)
- 学习 Rust 2024 Edition 新特性(第 29 章)
- 掌握异步编程(第 30 章)
- 探索 WebAssembly 应用(第 31 章)
- 最低 Rust 版本:1.75+(现代实践部分需要 1.85+)
- 教程版本:2.3
- 最后更新:2025-01
祝学习愉快!