优雅停机与清理
A - 关键字
Rust 程序设计语言(第二版 & 2018 edition) (Introduction Rust)
附录
appendix-00.md
commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
附录部分包含一些在你的 Rust 之旅中可能用到的参考资料。
书籍推荐
Rust 程序设计语言 中文版
hltj
•
rust
•
71页
•
2018年6月5日
1
leetcode题解,记录自己的leetcode解题之路
azl397985856
•
code
•
92页
•
2019年5月26日
8204
pyspider中文文档
aaronhua123
•
python
•
18页
•
2019年5月12日
1
Databricks Spark 知识库简体中文版
tzivanmoe
•
spark
•
15页
•
2018年7月1日
1
分布式 Java
waylau
•
java
•
27页
•
2018年5月3日
176
如何设计计算机操作系统
SamyPesse
•
cplusplus
•
11页
•
2018年6月2日
17175
小字
大字
宋体
黑体
白天
护眼
夜晚
封面
简介
Rust 程序设计语言
前言
介绍
入门指南
安装
Hello, World!
Hello, Cargo!
猜猜看游戏教程
常见编程概念
变量与可变性
数据类型
函数如何工作
注释
控制流
认识所有权
什么是所有权?
引用与借用
Slices
使用结构体来组织相关联的数据
定义并实例化结构体
一个使用结构体的示例程序
方法语法
枚举与模式匹配
定义枚举
`match` 控制流运算符
`if let` 简洁控制流
使用包、Crate 和模块管理不断增长的项目
包和 crate
定义模块来控制作用域与私有性
路径用于引用模块树中的项
使用 `use` 关键字将名称引入作用域
将模块分割进不同文件
常见集合
vector
字符串
哈希 map
错误处理
`panic!` 与不可恢复的错误
`Result` 与可恢复的错误
`panic!` 还是不 `panic!`
泛型、trait 与生命周期
泛型数据类型
trait:定义共享的行为
生命周期与引用有效性
测试
编写测试
运行测试
测试的组织结构
一个 I/O 项目:构建命令行程序
接受命令行参数
读取文件
重构以改进模块化与错误处理
采用测试驱动开发完善库的功能
处理环境变量
将错误信息输出到标准错误而不是标准输出
Rust 中的函数式语言功能:迭代器与闭包
闭包:可以捕获其环境的匿名函数
使用迭代器处理元素序列
改进之前的 I/O 项目
性能比较:循环对迭代器
更多关于 Cargo 和 Crates.io 的内容
采用发布配置自定义构建
将 crate 发布到 Crates.io
Cargo 工作空间
使用 `cargo install` 从 Crates.io 安装二进制文件
Cargo 自定义扩展命令
智能指针
`Box
` 指向堆上数据,并且可确定大小
通过 `Deref` trait 将智能指针当作常规引用处理
`Drop` Trait 运行清理代码
`Rc
` 引用计数智能指针
`RefCell
` 与内部可变性模式
引用循环与内存泄漏是安全的
无畏并发
线程
消息传递
共享状态
可扩展的并发:`Sync` 与 `Send`
Rust 的面向对象编程特性
面向对象语言的特点
为使用不同类型的值而设计的 trait 对象
面向对象设计模式的实现
模式用来匹配值的结构
所有可能会用到模式的位置
Refutability:何时模式可能会匹配失败
模式的全部语法
高级特征
不安全的 Rust
高级 trait
高级类型
高级函数与闭包
宏
最后的项目: 构建多线程 web server
单线程 web server
将单线程 server 变为多线程 server
优雅停机与清理
附录
A - 关键字
B - 运算符与符号
C - 可派生的 trait
D - 实用开发工具
E - 版本
F - 本书译本
G - Rust 是如何开发的与 “Nightly Rust”