news 2026/9/18 3:11:52

100 个 Rust 练习快速通关:从零上手系统编程的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
100 个 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-rust

听说过 Rust,却总在下手前就劝退?编译器一行行红色报错、所有权这回事说不清道不明——很多开发者对 Rust 的印象就停在这里。100-exercises-to-learn-rust这套 100 个 Rust 练习项目给出的解法很朴素:别啃大文档,直接做题。它由 Rust 培训机构 Mainmatter 出品,把原本 4 天线下工作坊的内容拆成了 100 道独立练习,每道都带测试,做对了才能过关。你不需要任何 Rust 基础,只要会至少一门别的编程语言就够了。

这 100 道题目是怎么排布的

整个课程分成 8 个模块,难度严格递增:从最基础的语法,到一个会算的计算器,再进入"票务系统"的迭代开发——结构体与所有权是 v1,枚举与错误处理是 v2,然后是集合与迭代器,最后收在多线程和异步编程上。

每个练习目录就是一个独立的 Cargo 包,里面有三样东西:写在src/lib.rs里的题目说明和待修代码、一套自动验证的测试、以及可选的集成测试。配套的讲解文档放在 book/src/ 下,章节编号和练习一一对应,哪题卡住就翻哪篇。

这种"一题一包"的设计有个好处:任何时候你都能精确说出自己做到哪里,进度不用凭感觉。

五分钟跑通第一个练习

先把仓库拉到本地:

git clone https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust

Rust 工具链方面,用 rustup 安装即可:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

装完后进任意练习目录,比如exercises/01_intro/01_syntax/,跑一下cargo test。你会发现函数签名是错的、类型也没写全——这正是题目要求你修的地方。修好测试转绿,第一个练习就算过了。

项目还配了一个叫wr的小工具(workshop runner 的缩写),装好后在仓库根目录运行,它会帮你按顺序验证每一关,没过当前题就不许进下一题。另外作者建议你在一个自己的分支上做,方便随时回看或重置进度。

编辑器选一个带 Rust 支持的:VS Code 装 rust-analyzer,或者直接用 JetBrains 的 RustRover,代码补全和实时报错能让你少走不少弯路。

卡住了怎么排查:从红字到绿钩

先说一个反直觉的点:编译器报错不算坏事。练习代码里自己都写了"Rust 编译器是你的结对伙伴",它的错误信息通常已经指明了方向——类型不匹配、变量被移动、生命周期不够,读完报错本身往往就够你改对。

排查顺序可以固定成三步:

  1. 逐字读编译器的报错和它指的行号,把上下文看清楚;
  2. 对照 book/src/ 里对应章节,例如所有权的题就去读 03_ticket_v1 的 ownership 一节;
  3. 测试挂了的话,用cargo test -- --nocapture看完整输出,再往函数里加println!观察实际执行到了哪一步。

实在想不通也别硬扛,仓库的 solutions 分支里有全部练习的参考答案,看一眼再自己重写一遍,比抄一遍强得多。

每天 2~3 关,怎么把节奏守住

别跳题。8 个模块环环相扣,04 的 traits 没吃透,05 的枚举和错误处理就会变成天书;而 07、08 的线程与 async 又建立在前面的所有权和生命周期之上。按 01 到 08 的顺序走,是最省力的路线。

两个保持手感的小习惯:

  • 每天 2~3 关,宁可少不可断,把每关的关键点记一句话进笔记,周中抽空回看一次;
  • 做完就提交 Git。这既是进度快照,也是天然的"存档点",某关卡死时可以从上一个稳定点重新来。

遇到性能或并发相关的题目(集中在 07_threads 里),可以cargo run --release对比一下 release 模式的差异,顺便感受一下溢出检查这些配置项的实际影响。

练完之后,往哪走

做完这 100 关,你对语法、类型系统、标准库和基础生态都有了肌肉记忆,接下来值得做三件事:找一个 Rust 开源项目,从修小 bug 读注释开始;给自己定一个小项目,CLI 工具或 Web 服务都行,把 8 个模块的知识串成一条线;然后按兴趣钻一个深水区,嵌入式、WebAssembly 或者区块链都是热门方向。有余力的话去读标准库源码,你会发现这套练习里讲过的 Drop、From、Index 这些 trait 在真实工程里长什么样。

工具备齐了,从exercises/01_intro/第一关开始敲,今晚就能让第一个测试变绿。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 3:07:41

TB67S531FTG与PIC18F67K40驱动两相双极步进电机的工业机器人方案

把TB67S531FTG和PIC18F67K40放在一起驱动两相双极步进电机,是我最近在工业机器人相关的项目里反复用的一套组合。两相双极步进电机在工业自动化、机器人关节、抓取机构和传送定位里出现频率非常高,而TB67S531FTG负责功率转换和电流闭环,PIC18…

作者头像 李华
网站建设 2026/9/18 3:07:20

Altium Designer PCB设计全流程:从原理图到Gerber输出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 3:04:56

培训课件用 Claude Slides 做互动页,TaoToken 按学员 Token

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 3:04:50

软件项目需求调研计划模板:结构化调研与排期落地指南

简介:软件项目需求调研计划模板适用于项目经理、需求分析师及软件开发团队成员,旨在为需求调研阶段提供清晰、可落地的规划框架。文档从编写目的、项目背景、术语定义等引言要素切入,进一步界定调研目标与职能部门范围,并对系统环…

作者头像 李华