序和前言
1.
入门
1.1.
安装
1.2.
Hello, World!
1.3.
你好,Cargo!
2.
编写猜数游戏
3.
常见编程概念
3.1.
变量与可变性
3.2.
数据类型
3.3.
函数
3.4.
注释
3.5.
控制流
进阶
4.
“掌握” 所有权
4.1.
何为所有权?
4.2.
引用与借用
4.3.
切片类型
5.
使用结构体来对相关数据进行架构
5.1.
定义并初始化结构体
5.2.
运用结构体的一个示例程序
5.3.
方法语法
6.
枚举与模式匹配
6.1.
定义一个枚举
6.2.
match 控制流结构
6.3.
使用 if let 的简洁控制流
7.
使用包、代码箱与模组对日趋增长的项目进行管理
7.1.
代码包与代码箱
7.2.
定义用于控制作用域及隐私性的模组
7.3.
用于引用模组树中某个项目的路径
7.4.
使用 use 关键字将路径带入作用域
7.5.
将模组分成不同文件
8.
常用集合数据结构
8.1.
使用矢量值存储值的清单
8.2.
使用字符串存储 UTF-8 编码的文本
8.3.
在哈希图种存储带有关联值的键
9.
错误的处理
9.1.
使用 panic! 宏的不可恢复错误
9.2.
使用 Result 的可恢复错误
9.3.
要 panic! 还是不要 panic!
深入掌握
10.
泛型、特质与生命周期
10.1.
通用数据类型
10.2.
特质:定义共用行为
10.3.
使用生命周期验证引用
11.
编写自动化测试
11.1.
怎样编写测试
11.2.
控制测试运行方式
11.3.
测试的组织
上篇总结 - 实操
12.
一个文件系统 I/O 项目:构建一个命令行程序
12.1.
接收命令行参数
12.2.
读取文件
12.3.
重构以改进模块化和错误处理
12.4.
以测试驱动方法,开发这个库的功能
12.5.
使用环境变量
12.6.
将错误消息写到标准错误,而非标准输出
下篇
13.
函数式语言特性:迭代器与闭包
13.1.
闭包:会捕获其环境的匿名函数
13.2.
使用迭代器处理条目序列
13.3.
改进咱们的 I/O 项目
13.4.
性能比较:循环与迭代器
14.
Cargo 的其他方面及 Crates.io
14.1.
使用发布配置文件自定义构建
14.2.
将代码箱发布到 Crates.io
14.3.
Cargo 工作区
14.4.
使用 cargo install 安装 Crates.io 上的二进制程序
14.5.
以定制命令扩展 Cargo
15.
灵巧指针
15.1.
使用 Box<T> 指向内存堆上的数据
15.2.
使用 Deref 特质将灵巧指针视为常规引用
15.3.
使用 Drop 特质在内存清理时运行代码
15.4.
引用有计数的灵巧指针 Rc<T>
15.5.
RefCell<T> 与内部可变性模式
15.6.
引用环会泄露内存
16.
无惧并发
16.1.
使用线程同步运行代码
16.2.
使用消息传递再线程间传输数据
16.3.
共用状态的并发
16.4.
使用 Sync 与 Send 的可扩展并发
17.
Rust 的面向对象编程特性
17.1.
面向对象语言的特征
17.2.
使用允许不同类型值的特质对象
17.3.
实现一种面向对象设计模式
18.
模式与匹配
18.1.
可使用模式的全部处所
18.2.
可证伪性:某个模式是否会匹配失败
18.3.
模式语法
19.
先进特性
19.1.
不安全的 Rust
19.2.
高级特质
19.3.
高级类型
19.4.
高级函数与闭包
19.5.
关于宏
20.
最后项目:构建一个多线程的 Web 服务器
20.1.
构建一个单线程的 Web 服务器
20.2.
将这个单线程服务器修改为多线程服务器
20.3.
优雅关机与内存清理
21.
附录
21.1.
A - 关键字
21.2.
B - 运算符与符号
21.3.
C - 派生特质
21.4.
D - 有用开发工具
21.5.
E - 关于版本
21.6.
F - 本书的一些译本
21.7.
G - Rust 是怎样构造出来的与 “每日 Rust”
21.8.
H - 有用笔记
21.9.
I - 术语清单
Light
Rust
Coal
Navy
Ayu
Yet another Chinese rust-lang book.
・
打赏,donate
附录
以下小节包含了在咱们的 Rust 路途中,会发现有用的一些参考资料。