Rust 编程语言
前言
介绍
1.
开始使用
1.1.
安装
1.2.
你好,世界!
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.
使用 Packages、Crate 和 Modules 管理不断增长的项目
7.1.
软件包和 crate
7.2.
定义模块以控制范围和隐私
7.3.
引用模块树中项目的路径
7.4.
使用 use 关键字将 paths 引入范围
7.5.
将模块分成不同的文件
8.
常用集合
8.1.
使用 Vector 存储值列表
8.2.
用字符串存储 UTF-8 编码的文本
8.3.
在哈希 Map 中存储具有关联值的键
9.
错误处理
9.1.
panic 的 Unrecoverable Errors!
9.2.
Result 的可恢复错误
9.3.
恐慌!或者不要惊慌!
10.
泛型类型、特征和生命周期
10.1.
通用数据类型
10.2.
traits:定义共享行为
10.3.
使用 Lifetimes 验证引用
11.
编写自动化测试
11.1.
如何编写测试
11.2.
控制测试的运行方式
11.3.
测试组织
12.
I/O 项目:构建命令行程序
12.1.
接受命令行参数
12.2.
读取文件
12.3.
重构以提高模块化和错误处理
12.4.
使用测试驱动开发开发库的功能
12.5.
使用环境变量
12.6.
将错误消息写入 Standard Error 而不是 Standard 输出
13.
函数式语言特性:迭代器和闭包
13.1.
闭包:捕获其环境的匿名函数
13.2.
使用迭代器处理一系列 Item
13.3.
改进我们的 I/O 项目
13.4.
比较性能:循环与迭代器
14.
更多关于 Cargo 和 Crates.io
14.1.
使用发布配置文件自定义构建
14.2.
将 Crate 发布到 Crates.io
14.3.
Cargo 工作区
14.4.
使用 cargo install 从 Crates.io 安装二进制文件
14.5.
使用自定义命令扩展 Cargo
15.
智能指针
15.1.
使用 Box<T> 指向堆上的数据
15.2.
像对待具有 Deref trait 的常规引用一样对待智能指针
15.3.
使用 Drop trait 在清理时运行代码
15.4.
rc<t>,引用计数智能指针
15.5.
RefCell<T> 和内部可变性模式
15.6.
参考周期可能会泄漏内存
16.
无所畏惧的并发
16.1.
使用线程同时运行代码
16.2.
使用消息传递在线程之间传输数据
16.3.
共享状态并发
16.4.
具有 Sync 和 Send trait 的可扩展并发
17.
Rust 的面向对象编程特性
17.1.
面向对象语言的特征
17.2.
使用允许不同类型值的 trait 对象
17.3.
实现面向对象的设计模式
18.
模式和匹配
18.1.
所有 Places Pattern 都可以使用
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 是如何制作的和 “Nightly Rust”
Light
Rust
Coal
Navy
Ayu
Rust 编程语言
附录
以下部分包含您可能会发现有用的参考资料 Rust 之旅。
本文档由官方文档翻译而来,如有差异请以官方英文文档(
https://doc.rust-lang.org/
)为准