实验介绍
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.
修复所有权错误
4.4.
Slice 类型
4.5.
所有权回顾
5.
使用结构体组织相关数据
5.1.
定义和实例化结构体
5.2.
使用结构体的示例程序
5.3.
方法语法
6.
枚举与模式匹配
6.1.
定义枚举
6.2.
match 控制流结构
6.3.
使用 if let 的简洁控制流
6.4.
所有权清单 #1
7.
使用包、Crate 和模块管理不断增长的项目
7.1.
包与 Crate
7.2.
定义模块来控制作用域和私有性
7.3.
在模块树中引用项的路径
7.4.
使用 use 关键字将路径引入作用域
7.5.
将模块分离到不同的文件
8.
常用集合
8.1.
使用 Vector 存储值列表
8.2.
使用 String 存储 UTF-8 编码的文本
8.3.
在哈希 Map 中存储键值对
8.4.
所有权清单 #2
9.
错误处理
9.1.
使用 panic! 处理不可恢复的错误
9.2.
使用 Result 处理可恢复的错误
9.3.
何时 panic!,何时不 panic!
10.
泛型、Trait 与生命周期
10.1.
泛型数据类型
10.2.
Trait:定义共享行为
10.3.
使用生命周期验证引用
10.4.
所有权清单 #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.
性能比较:循环 vs. 迭代器
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.
Async 和 Await
17.1.
Future 和 Async 语法
17.2.
使用 Async 的并发
17.3.
处理任意数量的 Future
17.4.
Stream
17.5.
深入研究 Async 的 Trait
17.6.
Future、任务和线程
18.
Rust 的面向对象编程特性
18.1.
面向对象语言的特性
18.2.
使用允许不同类型值的 Trait 对象
18.3.
实现面向对象设计模式
18.4.
所有权清单 #4
18.5.
设计权衡
19.
模式与匹配
19.1.
可以使用模式的所有地方
19.2.
可反驳性:模式是否可能匹配失败
19.3.
模式语法
20.
高级特性
20.1.
Unsafe Rust
20.2.
高级 Trait
20.3.
高级类型
20.4.
高级函数与闭包
20.5.
宏
21.
最终项目:构建多线程 Web 服务器
21.1.
构建单线程 Web 服务器
21.2.
将单线程服务器转换为多线程服务器
21.3.
优雅关闭与清理
22.
实验结束
23.
附录
23.1.
A - 关键字
23.2.
B - 运算符与符号
23.3.
C - 可派生 Trait
23.4.
D - 有用的开发工具
23.5.
E - 版本
23.6.
F - 本书的翻译
23.7.
G - Rust 是如何构建的与 “Nightly Rust”
Light
Rust
Coal
Navy
Ayu
Rust 程序设计语言
附录 F:本书的翻译
对于非英语的语言资源。大多数仍在进行中;请查看
Translations 标签
来提供帮助或告知我们新的翻译!
Português
(BR)
Português
(PT)
简体中文
正體中文
Українська
Español
,
备选
Italiano
Русский
한국어
日本語
Français
Polski
Cebuano
Tagalog
Esperanto
ελληνική
Svenska
Farsi
Deutsch
हिंदी
ไทย
Danske