从零开始系统学习 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>vsnull,&mutvs Java引用) - 编译器当导师:教会读懂错误信息,编译器是最好的老师
- 按顺序阅读第 1-11 章,打好基础
- 完成每章的练习题
- 编写小项目巩固知识
- 深入学习第 12-19 章
- 理解 Rust 独特的类型系统
- 阅读优秀开源项目代码
- 学习第 20-28 章
- 选择合适的框架和库
- 完成第五部分的项目实战
- 从 CLI 工具开始(项目一、二)
- 学习 Web 开发(项目三、五)
- 进阶数据处理(项目四、六、七、八)
- 挑战系统编程(项目九)
- 学习 Rust 2024 Edition 新特性(第 29 章)
- 掌握异步编程(第 30 章)
- 探索 WebAssembly 应用(第 31 章)
- 最低 Rust 版本:1.85+
- 教程版本:2.3
- 最后更新:2025-01
祝学习愉快!