ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

100-exercises-to-learn-rust 快速上手指南:从克隆到第一个测试跑通

2026/9/18 23:52:57 拓冰建站 浏览量
100-exercises-to-learn-rust 快速上手指南:从克隆到第一个测试跑通 100-exercises-to-learn-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-rust教程看了三遍所有权背得滚瓜烂熟可一打开新文件就报错不停这是很多 Rust 新手的真实困境。问题不在脑子在手你写得还不够多。100-exercises-to-learn-rust 把学 Rust 拆成了 100 个独立小练习每个练习都是一个现成的 Cargo 项目你只需要在标了 TODO 的行上填几行代码再用 cargo test 验证结果。不用自己搭环境、不用想项目结构按编号一路做下去就行。先看清项目全貌仓库很干净就两大块exercises 和 book前者写代码后者看讲解。exercises 下的每个子目录都对应 book/src 里的同名章节编号一一对应看完下面的目录树你就知道东西长什么样、东西在哪100-exercises-to-learn-rust/ ├── exercises/ │ ├── 01_intro/ # 第一步注释与类型 │ ├── 02_basic_calculator/ # 整数、循环、溢出 │ ├── 03_ticket_v1/ # 结构体、所有权、栈与堆 │ ├── 04_traits/ # Trait、From、Clone/Drop │ ├── 05_ticket_v2/ # 枚举、Result、错误处理 │ ├── 06_ticket_management/ # Vec、迭代器、生命周期 │ ├── 07_threads/ # 线程、通道、锁 │ └── 08_futures/ # async/await 与运行时 └── book/src/ # 每个练习一份同名 md 讲解动手写代码去 exercises概念看不懂就去 book/src 打开同编号的 md 补课两边随时切换。克隆 100-exercises-to-learn-rust 并跑通第一个测试的完整命令第①步 准备 Rust 工具链。如果系统里已有 rustup更新到最新稳定版即可rustup update rustc --version cargo --version第一条命令升级工具链第二条确认编译器和 cargo 都能用。第②步 克隆仓库并进入项目目录git clone https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust cd 100-exercises-to-learn-rust第③步 进入第一个练习跑一次测试cd exercises/01_intro/00_welcome cargo test首次运行必然是红的greeting()函数返回的字符串不对。打开 src/lib.rs把字符串改成Im ready to learn Rust!再跑一次 cargo test变绿。从这以后每个练习的节奏都相同找 TODO、改代码、cargo test 确认。拆解这套练习的三个核心玩法1. TODO 标记 自动校验测试它解决的问题你不知道练习目标是什么也不知道改对了没有。用法每个练习的 lib.rs 里都有__或 TODO 标记告诉你填哪文件末尾#[cfg(test)]里的测试负责校验答案。比如 01_syntax 里fn compute(a, b) - u32 { a b * 2 }你只需给两个参数补上类型cargo test会断言compute(1, 2) 5通过即完成。测试就是目标编译器是你的教练。2. book/src 同名讲解它解决的问题代码过了但你不知道原理。用法每个练习目录都有对应 md比如生命周期练习的解释在 book/src/06_ticket_management/06_lifetimes.md。先读 md 再动手或者卡住了再翻两种用法都成立。3. solutions 分支它解决的问题卡太长时间不知道从哪下嘴。用法仓库的 solutions 分支里有全部参考答案练习注释里也建议卡住超过 10 分钟就去抄答案。把它当参考别整段粘贴。踩坑实录这 5 个地方我也栽过 以下五条按遇到频率排序都是真实会卡住你的点。症状在仓库根目录直接cargo test报错 →原因根 workspace 的 members 引用了构建辅助 crate不在本仓库内 →解法永远 cd 进具体练习目录再跑 cargo别在根目录执行。症状测试红了却不知道哪条断言失败 →原因输出较长你直接刷过去了 →解法跑cargo test -- --nocapture看完整输出定位失败的 assert 再对照你的逻辑。症状改完一个错下一行又冒出新的错 →原因Rust 一个错会阻断编译后面的多是连锁反应 →解法只修第一条错误重编译再看下一条错误会像拆链条一样逐个消失。症状手痒想改测试让它通过 →原因测试就是验收标准改它等于改题目 →解法只动 TODO 标记处的代码#[cfg(test)]模块一个字都不要碰。症状IDE 里没有 Rust 补全和实时报错 →原因没装 rust-analyzer →解法VS Code 装 rust-analyzer 扩展或直接用 RustRover体验差很多。跑通之后的三条路一是每完成一个模块把 outro 练习做掉比如 exercises/03_ticket_v1/12_outro/它会让你完整写出自己的 Ticket 类型并跑集成测试比单点填空真实得多。二是用 05_ticket_v2 里学的 Result 和错误枚举动手写一个自己的小 CLI 工具。错误处理是真实项目里用得最多的能力趁热做项目是巩固它最快的方式。三是 100 个练习全部做完后读 book/src/going_further.md它列出了下一步该深入的资源能省你一轮搜索。Rust 不是靠读会的。现在就 cd 进 00_welcome跑一次 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),仅供参考