
从零基础到 Rust 并发100 个练习带你走完全程的学习指南【免费下载链接】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 第二周你大概率正盯着一个编译错误发呆cannot borrow *x as mutable more than once。Python 和 Go 从不跟你对着干Rust 编译器却逐行驳回。接下来还有两堵std::thread::spawn闭包必须static共享数据直接不让进async fn的 future 不.await就只是个没执行的结构体。100-exercises-to-learn-rust 的解法是把这三堵墙拆成约一百道独立练习从类型基础一路讲到并发与异步每道题都是独立 Cargo 工程测试即题目书里配套讲解做完一道进下一道。先跑起来clone、装工具链、打开第一题上手成本很低clone 仓库用 rustup 装 Rust 工具链装个带 Rust 补全的编辑器就能开工。git clone https://link.gitcode.com/i/e9ce686e3fd2922efd0958ea21a391bc15分钟跑通第一个Rust练习第一题的难度是给函数签名补全类型。exercises/01_intro/01_syntax/ 里compute(a, b)的参数没有类型标注cargo test失败是故意的编译器会告诉你返回类型是u32、参数却推不出来TODO 注释还顺带教你读错误信息。文件里那句Rust 编译器是你这门课的结对伙伴不是客气话整套练习都建立在这条反馈环上。用 cargo test 定位所有权报错ticket v1 的 13 道题从结构体走到所有权与引用。所有权说白了是编译期的记账规则它让编译器确定数据唯一属主悬垂指针和双重释放在编译期就被拦下引用则是临时借来看看。exercises/03_ticket_v1/ 的 06_ownership 要求把Ticket的访问器从fn title(self)改成fn title(self)——借用不转移属主连续调用才编译得过。卡住时的流程先读错误指向的行号与解释再读#[cfg(test)]里的断言明白期望然后回 book/src/03_ticket_v1/06_ownership.md 补前因后果公共测试脚手架在 helpers/ 目录。从枚举错误处理到集合迭代器traits 是 Rust 的多态机制作用类似 Go 的 interface14 道题从 trait 定义讲到 Clone/Copy/Drop其中 06_str_slice 的 String 与 str 是新手高频卡点。05_ticket_v2 处理 Rust 没有 null 和隐式异常的现实Option 与 Result 把可能失败显式化16 道题从枚举一路串到 TryFrom、thiserror、Error::source。06_ticket_management 再用 16 道题走完 Vec、迭代器、切片、HashMap/BTreeMap生命周期注解就是在这里登场的它约束借用的存活期不得长于被借的数据是你读懂str函数签名的最后一块拼图。Rust 并发 学习路径通道、锁与异步并发这站的设计很聪明不是一上来就讲 Mutex。exercises/07_threads/ 先用 4 道题理清线程生命周期与 scoped 线程再用 mpsc 通道搭命令服务器、补 ACK 与有界队列最后才进 Mutex、RwLock 和 Send/Sync每道题都配集成测试验收你不用自己编验收标准。异步的 8 道 tokio 题在 exercises/08_futures/03_runtime 要求两个 TcpListener 并发收连接、回复内容还不能 Clone——答完这道Send/Sync 和 Arc 的关系你大概就有体感了。练完之后去哪solutions 分支放着全部参考答案book/src/going_further.md 给出后续方向。我的建议是把前六站合成自己的东西写个 ticket 管理 CLI或者给 07_threads 的 store 加一种命令再带着这身肌肉记忆去读标准库源码、参与开源。现在就打开终端clone 仓库、装好工具链、进 exercises/01_intro/01_syntax 跑一遍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),仅供参考