ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

100-exercises-to-learn-rust 实战教程:从零跑通 100 个 Rust 练习的完整路径

100-exercises-to-learn-rust 实战教程:从零跑通 100 个 Rust 练习的完整路径 100-exercises-to-learn-rust 实战教程从零跑通 100 个 Rust 练习的完整路径【免费下载链接】100-exercises-to-learn-rustA self-paced course to learn Rust, one exercise at a time.项目地址: https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust100-exercises-to-learn-rust 是一门边做边练的 Rust 学习课程带你从完全不会 Rust 到能独立写出小项目一次一个练习。这篇文章会陪你走完三步克隆仓库、跑通第一个练习的测试、按顺序学完全部 8 个模块。读完你就能确定自己该怎么安排这套 Rust 练习题的学习节奏并随时验证每一步的答案。 这套 Rust 练习题到底能帮你做什么课程出自 Mainmatter 的讲师团队原本是给 4 天线下工作坊设计的训练材料现在完全开源。它不假设你懂系统编程或内存管理只假设你会至少一门其他语言。全部 100 个练习被切成 8 个模块先写一个基础计算器熟悉语法然后做一个工单系统在迭代过程中自然引入结构体、所有权、trait、枚举与错误处理、集合与迭代器最后进入多线程和异步。和其他 Rust 入门材料最大的区别是练习本身就是验收标准。每个练习目录都是一个完整的 Cargo 包题目要求写在src/lib.rs的注释里旁边就配好了测试套件。你不需要判断自己是不是学会了cargo test全绿才算过关。这种测试即作业的设计让学习 Rust 有了非常明确的进度条。 首次运行只需三步环境要求很低装好 Rust 工具链已有rustup的话跑一下rustup update确认是最新稳定版然后克隆仓库git clone https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust cd 100-exercises-to-learn-rust之后挑一个练习目录比如exercises/02_basic_calculator/03_if_else/进去执行cargo test第一次跑你会看到测试失败——这是预期行为因为题目函数里只有todo!()。推荐配合带自动补全的 IDERustRover或 VS Code 加 rust-analyzer 插件写 Rust 时体验会好很多。官方还提供了一个叫wrworkshop runner的辅助命令行工具会在你尝试跳题时拦着你确保按顺序推进装不装都行。️ 一分钟看懂目录结构exercises/ # 100 个练习一个子目录一道题 02_basic_calculator/ # 类型、控制流、溢出 03_ticket_v1/ # 结构体、模块、所有权 04_traits/ # trait 与运算符重载 05_ticket_v2/ # 枚举、Result、错误处理 06_ticket_management/ # Vec、迭代器、生命周期 07_threads/ # 线程、通道、锁 08_futures/ # async/await 与运行时 book/src/ # 课程正文每个知识点一篇 helpers/ # 练习共用的字段定义与工具函数 Cargo.toml # 整个仓库的 workspace 配置book/src/里的 markdown 和exercises/里的目录是一一对应的先读正文理解概念再进对应练习动手。helpers/下的ticket_fields等包被后面的练习依赖你一般不用碰它。 单个练习的学习循环读题、实现、跑测试以最典型的exercises/02_basic_calculator/03_if_else/为例。题目函数magic_number的文档注释写着规则n是偶数返回 12能被 3 整除返回 13其他情况返回 17。函数体里只有todo!()而文件下方的测试模块已经写好了 5 组断言覆盖偶数、3 的倍数、大数等各种边界。你的工作就是把todo!()换成自己的实现再用cargo test验证。失败的测试会精确告诉你是哪组断言没过、期望值和实际值分别是什么定位问题基本不需要调试手段。建议每完成一个练习就提交一次 git既能回溯进度也方便随时回到某个已知状态重做——课程文档里也是这么建议的。⚠️ 卡住时的三个高频问题编译报错全是 borrow 相关。现象E0382之类的所有权错误改哪儿都不对。原因Rust 的借用检查在编译期错误信息本身已经指向了具体行号。解法先逐字读完编译器给的解释再去改book/src/03_ticket_v1/06_ownership.md专门讲了这个模块的背景。看不懂测试到底要什么。现象断言一堆不知道函数该长成什么样。原因注释和测试合起来才是完整题目。解法把src/lib.rs顶部的注释和每条assert_eq!对照着读输入输出就都摆在面前了。卡太久直接看答案了。原因仓库里有完整解答分支一查一个准。解法给自己定个上限比如卡 30 分钟再去看对应练习的解答看完务必关掉答案文件重写一遍否则等于没练。 完成 100 题之后去哪儿课程收尾的book/src/going_further.md给了一份不错的延伸清单想要更短的刷题节奏可以看 rustlings 项目想换一种视角重学同样的概念官方 Rust Book 和《Programming Rust》都不错做后端方向的话《Zero to Production in Rust》本课程作者的又一本书是最自然的下一步。另外建议回头重做07_threads和08_futures两个模块——并发和异步是初学 Rust 最容易看懂但写不出的部分第二遍收益最大。写在最后100-exercises-to-learn-rust 的核心价值在于把学会 Rust这件事拆成了 100 个可验证的小步骤测试绿了就是真的会了。现在就可以打开终端把仓库克隆下来进第一个练习目录跑一次cargo test。【免费下载链接】100-exercises-to-learn-rustA self-paced course to learn Rust, one exercise at a time.项目地址: https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进