Rust 入门附录:三个阶段的分级练习与项目验收
在第六、十二、十八章后完成内存书单、文件记录器和批量本机 HTTP 客户端,按修改、补全和独立实现三档检查学习结果。
已发布 18 章 Rust 入门教材与内存布局、移动和析构实验;继续从语法走向编译、操作系统、网络与并发,以 Web Server 为后续综合项目。
这套教材按知识依赖顺序编排,每章都有完整示例、练习和参考答案。先运行、再修改、再独立完成练习。第十一、十二章把基础知识组合成能够保存数据的待办工具,后续章节扩展查询、JSON、备份与命令行接口,并用本机服务学习 HTTP 请求。
内存入门专题已经提供大小与对齐、字符串缓冲区、移动与克隆、析构顺序的可运行实验。系统机制路线继续安排编译与链接、抽象的实现、操作系统 I/O、网络、线程与异步执行;未发布的部分在路线中标明状态。
后续综合项目是Web Server:从接收本机连接开始,实现网页与 JSON 路由、静态文件、固定线程池和服务关闭。拟定第十九至二十五章围绕这个项目展开,逐项讲解所有权、字节与字符串、线程约束及资源释放;正文与源码待编写。
正式章节之外还提供分级练习与项目验收和常见错误排查。所有权与生命周期图解分别放在第四、九章中。
第二、三、四、六到十章提供语法细读,用类型推导、对照写法和编译反例解释语言规则。
Rust 学习路线:从语法、所有权到内存实验,再用 Web Server 连接编译、操作系统、网络与并发;区分已发布内容和后续专题。
认识终端、Rust 编译器和 Cargo,创建项目,运行并修改第一个 Rust 程序。
学习变量、可变性和常用数据类型,拆解 let 绑定、类型推断、数字后缀和显式转换的规则。
学习函数、分支和循环,解释块与分号的结果类型、单元值、提前返回、循环标签和短路求值。
读取输入和处理失败,拆解 Result 与 Option 上的问号传播、错误转换和函数返回边界。
拆分模块并写测试,解释 crate、self、super 路径、可见性、use 别名、宏和属性。
学习泛型、trait 和生命周期,解释类型参数关系、impl Trait、Sized、常量泛型及引用约束。
学习闭包和迭代器,区分 move 捕获与 Fn、FnMut、FnOnce 调用能力,检查每一步的数据类型。
组合结构体、枚举、集合和错误处理,实现任务新增、完成、展示和命令参数解析。
为待办工具设计文件格式,读写数据,连接命令行入口,测试跨进程持久化并构建可执行文件。
复用已有库,返回任务的借用视图,按编号删除任务,并用测试固定查询与修改的边界。
用枚举、Display、Error 和 From 区分输入与文件错误,通过问号传播,并在命令行显示原因链。
引入 Serde 和 serde_json,验证任务文件的结构与业务规则,并把旧 TSV 数据迁移到不覆盖原文件的新 JSON。
复用 JSON 校验,在 Rust 中备份和恢复任务文件,学习 create_new、写入失败边界,以及如何用测试确认旧文件没有被覆盖。
用 clap 的派生宏声明子命令、路径选项和参数类型,把参数错误与业务错误分开,并复用 JSON 存储和备份。
用 reqwest 的阻塞客户端访问本机 HTTP 服务,分别处理状态码、JSON、数据校验、响应大小和超时,再用本机测试固定这些行为。
在第六、十二、十八章后完成内存书单、文件记录器和批量本机 HTTP 客户端,按修改、补全和独立实现三档检查学习结果。
用三个可运行实验观察大小、对齐、字段偏移、String 的堆缓冲区和析构顺序,区分语言保证、编译器表现与资源管理。
按工具、工作区、编译和运行阶段排查常见问题,重现移动、借用和生命周期错误,并检查依赖、文件路径及本机 HTTP 服务。