Rust 学习技能树
更新日期: 2026-04-04
当前版本: v0.1.0
学习路线
基础 (第 1-5 章) 🟢
↓
进阶 (第 6-10 章) 🟡
↓
高级 (第 11-15 章) 🔴
↓
实战项目 (第 16+ 章) 🔴
基础部分 🟢
前置要求:有基础编程概念(变量、循环、函数)
第 1 章:变量与表达式 ✅ 完成
- 难度: 🟢 入门
- 前置: 无
- 预计时间: 1-2 小时
- 练习: 3 个知识检查题
- 检查点:
- 理解 let 关键字
- 区分可变/不可变变量
- 了解 const
第 2 章:数据类型 ✅ 完成
- 难度: 🟢 入门
- 前置: 变量
- 预计时间: 2-3 小时
- 检查点:
- 理解 i32, String, bool
- 区分类与结构体
- 了解 Vec
第 3 章:所有权 ✅ 完成
- 难度: 🟡 中级
- 前置: 变量、数据类型
- 预计时间: 3-4 小时
- 检查点:
- 理解 move 语义
- 会借用和引用
- 识别所有权错误
第 4 章:结构体 ✅ 完成
- 难度: 🟡 中级
- 前置: 所有权、数据类型
- 预计时间: 2-3 小时
- 检查点:
- 定义 struct
- 实现方法
- 使用字段
第 5 章:枚举 ✅ 完成
- 难度: 🟡 中级
- 前置: 结构体、所有权
- 预计时间: 2-3 小时
- 检查点:
- 定义 enum
- 使用 match
- 理解 Option
进阶部分 🟡
前置要求: 完成基础部分
第 6 章:特征 (Traits) ✅ 完成
- 难度: 🟡 中级
- 前置: 结构体、枚举
- 预计时间: 3-4 小时
- 检查点:
- 定义 trait
- 实现特征
- 使用特征作为参数
第 7 章:模块系统 ✅ 完成
- 难度: 🟡 中级
- 前置: 特征
- 预计时间: 2-3 小时
- 检查点:
- 定义模块
- 使用 use 导入
- 控制可见性
第 8 章:泛型 ✅ 完成
- 难度: 🟡 中级
- 前置: 特征、结构体
- 预计时间: 3-4 小时
- 检查点:
- 定义泛型函数
- 理解单态化
- 使用特征约束
第 9 章:闭包 ✅ 完成
- 难度: 🟡 中级
- 前置: 特征、函数
- 预计时间: 2-3 小时
- 检查点:
- 定义闭包
- 理解 Fn trait
- 在迭代器中使用
第 10 章:线程与并发 🟡 进行中
- 难度: 🔴 高级
- 前置: 线程与并发
- 预计时间: 4-5 小时
- 检查点:
- 创建线程
- 使用通道
- 理解 Arc/Mutex
高级部分 🔴
前置要求: 完成基础 + 进阶部分
第 11 章:条件编译 🟡 进行中
- 难度: 🟡 中级
- 前置: 模块
- 预计时间: 1-2 小时
第 12 章:指针与 unsafe 🟡 进行中
- 难度: 🔴 高级
- 前置: 所有权
- 预计时间: 3-4 小时
- ⚠️ 注意:包含 unsafe 代码
第 13 章:日志记录 🟡 进行中
- 难度: 🟡 中级
- 前置: 特征、模块
- 预计时间: 1-2 小时
第 14 章:追踪 (Tracing) 🟡 进行中
- 难度: 🔴 高级
- 前置: 日志记录
- 预计时间: 2-3 小时
第 15 章:可见性控制 🟡 进行中
- 难度: 🟡 中级
- 前置: 模块
- 预计时间: 1-2 小时
实战项目 🔴
前置要求: 完成进阶部分
项目 1:运行 gRPC 服务器
源码: src/bin/greeter_server.rs
运行:
cargo run --bin greeter_server
学习目标:
- 理解 gRPC 基本概念
- 实现协议 buffers 服务
- 运行异步服务
扩展:
- 添加自定义服务
- 实现双向流
项目 2:IPC 通信
源码: src/bin/uds_server.rs, src/bin/uds_client.rs
运行:
# 在一个终端运行服务器
cargo run --bin uds_server
# 在另一个终端运行客户端
cargo run --bin uds_client
学习目标:
- 理解 Unix 套接字
- 实现进程间通信
项目 3:算法实现
源码: src/algo/calc_pi_sample.rs
运行:
cargo run --bin calc_pi # 如果有此二进制
# 或
cd src/algo && rustc calc_pi_sample.rs && ./calc_pi_sample
学习目标:
- 理解数值算法
- 使用 rayon 并行
进度追踪
当前总进度: [X/15 章完成]
完成清单
- 第 1 章:变量与表达式
- 第 2 章:数据类型
- 第 3 章:所有权
- 第 4 章:结构体
- 第 5 章:枚举
- 第 6 章:特征
- 第 7 章:模块系统
- 第 8 章:泛型
- 第 9 章:闭包
- 第 10 章:线程与并发
- 第 11 章:条件编译
- 第 12 章:指针与 unsafe
- 第 13 章:日志记录
- 第 14 章:追踪
- 第 15 章:可见性控制
完成 15 章后: 🎉 恭喜!你已经掌握了 Rust 的核心概念!
下一步:
- 运行实战项目
- 参与真实项目
- 贡献开源代码
学习建议
每天学习时间
- 初学者: 30-60 分钟/天
- 有经验的开发者: 1-2 小时/天
- 全职学习: 4-6 小时/天
🧠 基于认知科学的学习方法
Microsoft Rust 培训建议:"Struggling with the borrow checker is part of learning."
15 分钟规则
- 先自己写代码,让编译器报错
- 仔细阅读错误信息(Rust 编译器是最好的老师)
- 如果卡住超过 15 分钟 → 查看答案
- 关掉答案,从头自己写一遍
间隔重复
- 学完一章后,第二天复习 前一章的关键概念
- 每学完 5 章,做一次 综合复习(见复习章节)
- 使用知识检查题测试自己的记忆
主动回忆
- 不要只是阅读代码,自己写一遍
- 合上教程,尝试凭记忆写出关键概念
- 使用"费曼技巧":尝试向别人解释这个概念
最佳实践
- 边学边练 - 每章都要动手练习
- 做笔记 - 记录难点和收获
- 提问 - 在 RustCn 社区提问
- 复习 - 学完一章后复习前一章
- 编译器是你的老师 - 学会阅读错误信息
遇到困难时
- 回到前一章巩固基础
- 看代码示例(每个章节都有)
- 在 community 提问
- 休息后再试
- 记住:感到困惑是完全正常的! Rust 的学习曲线陡峭,但掌握后你会写出更可靠的代码。