
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 课程100 个小练习各对应一个 Rust 概念你通过补全代码、让随附测试通过来学习。无需任何 Rust 基础适合有其它语言经验、想系统入门 Rust 的程序员。 练习体系100 个独立 Cargo 项目课程主体在 exercises/ 下按 8 个模块组织。每个练习都是一个独立 Cargo 项目lib.rs里用TODO、todo!()或__标出需要写代码的位置#[cfg(test)]块中附带一组固定测试——你只改被测代码、不改测试本身cargo test既是验收器也是答案核对器。模块顺序即难度顺序每个概念都在前一个模块的基础上展开exercises/ ├── 01_intro/ # 注释、函数、第一个程序 ├── 02_basic_calculator/ # 整数、分支、循环、溢出 ├── 03_ticket_v1/ # 结构体、所有权、可见性 ├── 04_traits/ # trait、Clone/Copy/Drop ├── 05_ticket_v2/ # 枚举、Option/Result、错误处理 ├── 06_ticket_management/ # Vec、迭代器、生命周期、Map ├── 07_threads/ # 线程、通道、Mutex └── 08_futures/ # async、runtime、取消每个模块以 outro 集成测试收尾把该模块学过的概念如 ticket_v1 收尾测试中的订单校验拼成一次综合验证。 配套文档与辅助工具book/src/ 是一本完整的 mdBook 教程每个练习对应其中一页。它的价值在于卡住时不用上网搜直接翻对应页就能看到这个概念为什么存在、编译器规则背后的动机而不是只给一段 API 说明。helpers/ 是练习共享的公共代码common提供overly_long_title这类测试数据ticket_fields提供票务标题/描述的校验逻辑后续模块的测试直接依赖它们——读测试代码时顺手就能看懂这些工具函数。 跑通第一个 Rust 练习安装 Rust 工具链已有 rustup 可跳过curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh克隆课程仓库git clone https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust进入第一个练习目录跑测试看失败用例cd 100-exercises-to-learn-rust/exercises/01_intro/00_welcome cargo test把src/lib.rs中Im ready to __!的__换成测试期望的文本重跑cargo test变绿后进入01_syntax。 新手高频的 Rust 编译报错排查函数签名报类型缺失现象01_syntax练习默认编译不过。原因Rust 不会为函数参数推断类型每个形参都要显式标注。解法按返回类型补上a: u32, b: u32编译错误信息会指出具体行号照着改即可。ownership 相关的 moved value 报错现象在03_ticket_v1写 setter 或构造逻辑时提示 value moved / cannot assign。原因Rust 默认移动语义变量被赋值或传参后原值失效。解法值类型用clone()或改成传/mut引用原理见 ownership 章节。校验 panic 看起来像 bug现象带#[should_panic]的测试失败。原因课程 v1 风格要求构造器校验输入对空标题等非法值主动 panic。解法在构造前加校验分支测试就是直接断言 panic 会发生。 完成 100 个练习后往哪走参考书末 going_further.md 列出的 rustlings、exercism Rust 轨道等资源继续刷题对照仓库 solutions 分支逐题对比你的实现与官方解法选一个目标域CLI、后端、嵌入式挑一个真实小项目动手若对并发不自信重做07_threads与08_futures两个模块【免费下载链接】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),仅供参考