1. Rust 编程语言
  2. 前言
  3. 简介
  4. 开始入门
    1. 安装
    2. Hello, World!
    3. Hello, Cargo!
  5. 编写一个猜数游戏
  6. 常见编程概念
    1. 变量与可变性
    2. 数据类型
    3. 函数
    4. 注释
    5. 控制流
  7. 理解所有权
    1. 什么是所有权?
    2. 引用与借用
    3. 切片类型
  8. 使用结构体组织相关数据
    1. 定义和实例化结构体
    2. 一个使用结构体的示例程序
    3. 方法语法
  9. 枚举与模式匹配
    1. 定义枚举
    2. match 控制流构造器
    3. 使用 if let 和 let else 实现简洁的控制流
  10. 使用包、库和模块管理不断发展的项目
    1. 包和库
    2. 定义模块以控制作用域和私有性
    3. 引用模块树中某个项的路径
    4. 使用 use 关键字将路径引入作用域
    5. 将模块拆分到不同文件中
  11. 常见集合
    1. 使用向量存储值列表
    2. 使用字符串存储 UTF-8 编码的文本
    3. 在哈希映射中存储键及其关联值
  12. 错误处理
    1. 使用 panic! 处理不可恢复的错误
    2. 使用 Result 处理可恢复的错误
    3. 是否使用 panic!
  13. 泛型、特性和生命周期
    1. 泛型数据类型
    2. 特性:定义共享行为
    3. 使用生命周期验证引用
  14. 编写自动化测试
    1. 如何编写测试
    2. 控制测试的运行方式
    3. 测试组织
  15. 一个 I/O 项目:构建命令行程序
    1. 接受命令行参数
    2. 读取文件
    3. 重构以提高模块化和错误处理能力
    4. 使用测试驱动开发开发库的功能
    5. 处理环境变量
    6. 将错误消息写入标准错误而非标准输出
  16. 函数式语言特性:迭代器和闭包
    1. 闭包:捕获其环境的匿名函数
    2. 使用迭代器处理一系列项
    3. 改进我们的 I/O 项目
    4. 比较性能:循环与迭代器
  17. 更多关于 Cargo 和 Crates.io 的内容
    1. 使用发布配置文件自定义构建
    2. 将 crate 发布到 Crates.io
    3. Cargo 工作区
    4. 使用 cargo install 从 Crates.io 安装二进制文件
    5. 使用自定义命令扩展 Cargo
  18. 智能指针
    1. 使用 Box<T> 指向堆上的数据
    2. 使用 Deref 将智能指针当作常规引用处理
    3. 使用 Drop 特性在清理时运行代码
    4. Rc<T>,引用计数智能指针
    5. RefCell<T> 和内部可变性模式
    6. 引用循环可能导致内存泄漏
  19. 无畏并发
    1. 使用线程同时运行代码
    2. 使用消息传递在线程间传输数据
    3. 共享状态并发
    4. 使用 Send 和 Sync 特性实现可扩展的并发
  20. 异步编程基础:Async、Await、Futures 和 Streams
    1. Futures 和 Async 语法
    2. 使用 Async 实现并发
    3. 处理任意数量的 Futures
    4. Streams:顺序执行的 Futures
    5. 深入研究 Async 的特性
    6. Futures、Tasks 和 Threads
  21. Rust 的面向对象编程特性
    1. 面向对象语言的特性
    2. 使用允许不同类型值的 Trait 对象
    3. 实现面向对象设计模式
  22. 模式与匹配
    1. 模式的所有使用场景
    2. 可反驳性:模式是否可能匹配失败
    3. 模式语法
  23. 高级特性
    1. 不安全的 Rust
    2. 高级特性
    3. 高级类型
    4. 高级函数和闭包
  24. 最终项目:构建多线程 Web 服务器
    1. 构建单线程 Web 服务器
    2. 将我们的单线程服务器转换为多线程服务器
    3. 优雅关闭和清理
  25. 附录
    1. A - 关键字
    2. B - 运算符和符号
    3. C - 可派生特性
    4. D - 有用的开发工具
    5. E - 版本
    6. F - 本书的翻译版本
    7. G - Rust 的构建过程与 “Nightly Rust”