Rust 从零开始

已发布 18 章 Rust 入门教材与内存布局、移动和析构实验;继续从语法走向编译、操作系统、网络与并发,以 Web Server 为后续综合项目。

课程 导读 + 18 章 · 3 篇配套资料约 223 分钟更新于 18 章与内存入门专题已发布;Web Server 项目已规划
从序言开始 学习指南

可以按章节顺序阅读,也可以从下面的目录选读。

这套教材按知识依赖顺序编排,每章都有完整示例、练习和参考答案。先运行、再修改、再独立完成练习。第十一、十二章把基础知识组合成能够保存数据的待办工具,后续章节扩展查询、JSON、备份与命令行接口,并用本机服务学习 HTTP 请求。

从学习指南开始 · 下载配套源码

内存入门专题已经提供大小与对齐、字符串缓冲区、移动与克隆、析构顺序的可运行实验。系统机制路线继续安排编译与链接、抽象的实现、操作系统 I/O、网络、线程与异步执行;未发布的部分在路线中标明状态。

后续综合项目是Web Server:从接收本机连接开始,实现网页与 JSON 路由、静态文件、固定线程池和服务关闭。拟定第十九至二十五章围绕这个项目展开,逐项讲解所有权、字节与字符串、线程约束及资源释放;正文与源码待编写。

正式章节之外还提供分级练习与项目验收和常见错误排查。所有权与生命周期图解分别放在第四、九章中。

第二、三、四、六到十章提供语法细读,用类型推导、对照写法和编译反例解释语言规则。

开始之前

1 篇
  1. 序言学习指南

    Rust 学习路线:从语法、所有权到内存实验,再用 Web Server 连接编译、操作系统、网络与并发;区分已发布内容和后续专题。

把程序写出来

3 篇
  1. 01安装与第一个程序

    认识终端、Rust 编译器和 Cargo,创建项目,运行并修改第一个 Rust 程序。

  2. 02变量与类型

    学习变量、可变性和常用数据类型,拆解 let 绑定、类型推断、数字后缀和显式转换的规则。

  3. 03函数与控制流程

    学习函数、分支和循环,解释块与分号的结果类型、单元值、提前返回、循环标签和短路求值。

理解数据如何使用

3 篇
  1. 04所有权与借用

    解释所有权、移动和借用,区分绑定的 mut、引用的 &mut、解引用、再借用和引用复制。

  2. 05字符串与集合

    处理中文字符串,使用 Vec、切片和 HashMap,理解索引、遍历和可变引用。

  3. 06结构体与枚举

    学习结构体、枚举和 Option,解释模式绑定、引用匹配、守卫、通配符与 let ... else。

写出可维护的程序

4 篇
  1. 07输入与错误处理

    读取输入和处理失败,拆解 Result 与 Option 上的问号传播、错误转换和函数返回边界。

  2. 08模块与测试

    拆分模块并写测试,解释 crate、self、super 路径、可见性、use 别名、宏和属性。

  3. 09泛型、trait 与生命周期

    学习泛型、trait 和生命周期,解释类型参数关系、impl Trait、Sized、常量泛型及引用约束。

  4. 10闭包与迭代器

    学习闭包和迭代器,区分 move 捕获与 Fn、FnMut、FnOnce 调用能力,检查每一步的数据类型。

完成一个小项目

2 篇
  1. 11实战:任务与命令

    组合结构体、枚举、集合和错误处理,实现任务新增、完成、展示和命令参数解析。

  2. 12实战:文件与完整程序

    为待办工具设计文件格式,读写数据,连接命令行入口,测试跨进程持久化并构建可执行文件。

继续完善项目

3 篇
  1. 13筛选、搜索与删除

    复用已有库,返回任务的借用视图,按编号删除任务,并用测试固定查询与修改的边界。

  2. 14自定义错误类型

    用枚举、Display、Error 和 From 区分输入与文件错误,通过问号传播,并在命令行显示原因链。

  3. 15Serde 与 JSON 保存

    引入 Serde 和 serde_json,验证任务文件的结构与业务规则,并把旧 TSV 数据迁移到不覆盖原文件的新 JSON。

文件、命令行与网络

3 篇
  1. 16备份与恢复

    复用 JSON 校验,在 Rust 中备份和恢复任务文件,学习 create_new、写入失败边界,以及如何用测试确认旧文件没有被覆盖。

  2. 17命令行与 clap

    用 clap 的派生宏声明子命令、路径选项和参数类型,把参数错误与业务错误分开,并复用 JSON 存储和备份。

  3. 18HTTP 请求

    用 reqwest 的阻塞客户端访问本机 HTTP 服务,分别处理状态码、JSON、数据校验、响应大小和超时,再用本机测试固定这些行为。

练习与验收

1 篇

参考附录

2 篇

Rust 入门附录:从报错位置找到问题

按工具、工作区、编译和运行阶段排查常见问题,重现移动、借用和生命周期错误,并检查依赖、文件路径及本机 HTTP 服务。

编程·原创·实战教程·8 分钟阅读