面向 Python 程序员的 Rust 完整培训指南 🟢
这是一本面向 Python 开发者的 Rust 学习指南,涵盖从基础语法到高级模式的内容,重点讲解从动态类型、垃圾回收语言迁移到具备编译期内存安全保证的静态类型系统语言时所需要的思维转变。
如何使用本书
自学建议:先学习第一部分(第 1-6 章),这些内容与 Python 中已有概念最接近。第二部分(第 7-12 章)会引入 Rust 特有概念,如所有权和 trait。第三部分(第 13-16 章)讨论高级主题与迁移问题。
学习节奏建议:
| 章节 | 主题 | 建议时间 | 检查点 |
|---|---|---|---|
| 1-4 | 环境、类型、控制流 | 1 天 | 你可以用 Rust 写出命令行温度转换器 |
| 5-6 | 数据结构、枚举、模式匹配 | 1-2 天 | 你可以定义携带数据的枚举并用 match 完整匹配 |
| 7 | 所有权与借用 | 1-2 天 | 你可以解释为什么 let s2 = s1 会使 s1 失效 |
| 8-9 | 模块、错误处理 | 1 天 | 你可以创建一个多文件项目并用 ? 传播错误 |
| 10-12 | Trait、泛型、闭包、迭代器 | 1-2 天 | 你可以把列表推导式翻译成迭代器链 |
| 13 | 并发 | 1 天 | 你可以用 Arc<Mutex<T>> 写出线程安全计数器 |
| 14 | Unsafe、PyO3、测试 | 1 天 | 你可以通过 PyO3 从 Python 调用 Rust 函数 |
| 15-16 | 迁移、最佳实践 | 自定节奏 | 作为参考材料,在实际开发时按需查阅 |
| 17 | 综合项目 | 2-3 天 | 构建一个整合各章节内容的完整命令行应用 |
如何使用练习:
- 各章包含可折叠
<details>区块中的动手练习及答案 - 总是先尝试练习,再展开答案。 与借用检查器斗争本身就是学习过程,编译器的报错就是老师
- 如果卡住超过 15 分钟,就展开答案学习,然后收起并重新独立完成一次
- Rust Playground 允许你在未本地安装 Rust 的情况下运行代码
难度标记:
- 🟢 初级:可以直接从 Python 概念迁移
- 🟡 中级:需要理解所有权或 trait
- 🔶 高级:生命周期、async 内部机制或 unsafe 代码
遇到卡点时:
- 仔细阅读编译器错误信息,Rust 的错误提示通常非常有帮助
- 重读相关小节,像所有权这样的概念往往第二遍才真正理解
- Rust 标准库文档 非常优秀,遇到类型或方法都值得去查
- 如需更深入的异步内容,请参考配套的 Async Rust Training