Ru
Rust
20 周难学但值得的第二门系统语言
适合谁:有 C/C++ 或 Go 基础、追求极致性能与安全的工程师
难度
共 5 个阶段 · 20 周这条路上最常见的三个误区
- 一上来就死磕所有权 —— 先写能让编译器过的代码,再回头理解「为什么它不让你过」
- 用 Rust 写 Web CRUD —— 把最陡的学习曲线用在最不需要它的场景
- 过早追求零拷贝与 unsafe —— 先把 safe Rust 写顺,性能是后话
第一周就做这三件事
- 1装 rustup + cargo,跑通 cargo new / run / test
- 2完成 20 个 rustlings 练习(官方出的填空式训练)
- 3用 cargo clippy 把警告清到 0,习惯编译器的唠叨
「准备期」是拖延的另一种说法。先跑起来,再谈规划。
分阶段执行
按每周 10–12 小时估算,有基础可压缩学习进度 0%0/5 阶段 · 约 0/20 周
- 1
阶段一 · 所有权
建议 4 周阶段目标跨过 borrow checker 这道墙
知识点所有权与借用生命周期标注结构体与枚举模式匹配错误处理 Result/Option验收标准能不靠 clone 写出通过编译的代码
- 2
阶段二 · 抽象与泛型
建议 4 周阶段目标掌握 Rust 的抽象工具
知识点Trait 与泛型Trait Object 与动态分发迭代器与闭包智能指针 Box/Rc/RefCell模块与 Crate验收标准能解释 Rc/RefCell 的适用场景
- 3
阶段三 · 并发与异步
建议 4 周阶段目标写出安全的并发程序
知识点Send / SyncMutex / RwLock / Arcasync/await 与 FutureTokio 运行时channel验收标准支持多客户端并发;无数据竞争
- 4
阶段四 · 工程实践
建议 4 周阶段目标能做真实项目
知识点Cargo 工作区Serde 序列化Axum / Actix Web错误处理最佳实践测试与基准验收标准压测性能优于同功能 Go 版本或差距 < 20%
- 5
阶段五 · 领域深入
建议 4 周阶段目标切入高价值领域
知识点(选一)数据库 / 区块链 / WASM / 嵌入式 / 网络代理unsafe 与 FFI性能剖析验收标准能通过 redis-cli 基本命令测试