|
|
|
|
# Rust语言圣经
|
|
|
|
|
|
|
|
|
|
做任何事情,初心和目标很重要,过程也很重要,那么这里我们就来谈谈这些,关于书,关于Rust在国内的发展。*强烈建议读者大大们不要跳过下面的内容,对于你对这本书的理解和定位会很有帮助*。
|
|
|
|
|
|
|
|
|
|
## 关于本书
|
|
|
|
|
|
|
|
|
|
- 官方书名: Rust语言圣经(Rust Course)
|
|
|
|
|
- 官方网址: https://course.rs
|
|
|
|
|
- 修订时间: 尚未发行
|
|
|
|
|
- Rust版本: Rust edition 2021
|
|
|
|
|
- QQ交流群: 1009730433
|
|
|
|
|
- 主要作者: [Sunface](https://im.dev)
|
|
|
|
|
|
|
|
|
|
#### 书本简介
|
|
|
|
|
`Rust语言圣经`是一本涵盖了从入门到精通各个阶段的Rust书籍,书本的章节和内容组织经过深思熟虑的设计,以符合中国用户的编程使用习惯,目的是尽量对新手更友好,同时也更方便老手的后期检索查询。
|
|
|
|
|
|
|
|
|
|
使用Rust的用户往往都对性能非常感兴趣,因此本书对于性能优化方面也是分散落入各个章节中,同时还有一个专门的[性能优化](./performance/intro.md)专题,来帮助用户系统的认识如何优化Rust项目的性能。
|
|
|
|
|
|
|
|
|
|
针对不同的使用场景,我们也给出了多种模版代码,方便用户直接复制粘贴到代码中,例如读取文件、http请求等,无需再去网上搜索。
|
|
|
|
|
|
|
|
|
|
Rust的外部库层次不齐,针对这一点,我们根据功能分类推荐了相应的高质量开源库,同时提供了基础的使用帮助。
|
|
|
|
|
|
|
|
|
|
**在学完这本书后,你也会随之完成数个小型项目**,例如其中一些是:
|
|
|
|
|
- Mandelbrot集合渲染
|
|
|
|
|
- 类Grep命令
|
|
|
|
|
- CPU模拟器
|
|
|
|
|
- 小型数据库
|
|
|
|
|
- 小型Redis
|
|
|
|
|
- HTTP等网络请求客户端
|
|
|
|
|
- 小型操作系统内核
|
|
|
|
|
|
|
|
|
|
从上面的列表可以看出,学完本书,不仅会教会你Rust语言,还能学到系统编程和底层编程, 尽情享受奇妙的编程之旅吧。
|
|
|
|
|
|
|
|
|
|
#### 创作初心
|
|
|
|
|
|
|
|
|
|
还有很多,就不一一列举,等待大家自己去探索挖掘。 总之在写作过程中我们始终铭记初心:**为用户打造一本真正的Rust中文好书。 新手用来入门,老手用来提高,高手能用来提升生产力**。
|
|
|
|
|
|
|
|
|
|
#### 目标读者
|
|
|
|
|
|
|
|
|
|
目标读者大致能落在以下三个范畴内
|
|
|
|
|
1. 有其它语言编程基础,无Rust编程语言经验的爱好者
|
|
|
|
|
2. 已经熟悉Rust想要更进一步的中级Rust程序员
|
|
|
|
|
3. 想要随时检索一些Rust知识和代码,对生产力有要求的Rust开发者
|
|
|
|
|
|
|
|
|
|
#### 内容说明
|
|
|
|
|
|
|
|
|
|
书的目录组织结构和内容组织完全是原创,其中书籍内容部分,大部分是原创,另外一部分来源于外文资料及中文翻译书籍。
|
|
|
|
|
|
|
|
|
|
来源于中文翻译书籍的内容都会标明来源,在复制粘贴的同时,还进行了大量的修改,一个是增加中文翻译的准确性,还有就是提升阅读流畅度,让行文更符合中国人的阅读习惯,摆脱“机器翻译味", **所以本书的内容每句话都是经过精心构思,力求提供给大家最好的阅读体验**.
|
|
|
|
|
|
|
|
|
|
## 版权信息
|
|
|
|
|
|
|
|
|
|
Rust语言圣经是完全开源的电子书籍,但是也应该受到版权的保护,毕竟凝聚了大家多个数以百计小时的汗水、牺牲了大量陪伴家人的时间,才完成了该书。
|
|
|
|
|
|
|
|
|
|
因此我们选择了[No License](https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwigkv-KtMT0AhXFdXAKHdI4BCcQFnoECAQQAw&url=https%3A%2F%2Fchoosealicense.com%2Fno-permission%2F&usg=AOvVaw3M2Q4IbdhnpJ2K71TF7SPB)作为我们的版权,这意味着读者可以随意的fork、阅读,但是不能私下修改后再分发,如果想要修改,请提RP或者加入Rust编程学院,成为正式成员。
|
|
|
|
|
|
|
|
|
|
## 阅读本书需要注意的点
|
|
|
|
|
|
|
|
|
|
### 命令行符号
|
|
|
|
|
|
|
|
|
|
> 在本章以及整本书中,我们将展示一些在终端中使用的命令。在终端中输入的行均以 `$` 开头,你不需输入 `$` 字符;它表示每个命令的开始。不以 `$` 开头的行通常表示上一个命令的输出内容。另外,专用于 PowerShell 的示例将使用 `>` 而不是 `$`。
|
|
|
|
|
|
|
|
|
|
#### 编译期望行为说明
|
|
|
|
|
| Ferris | 意义 |
|
|
|
|
|
|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|
|
|
|
|
|
| <img src="img/ferris/does_not_compile.svg" class="ferris-explain" alt="Ferris with a question mark"/> | 这些代码不能编译! |
|
|
|
|
|
| <img src="img/ferris/panics.svg" class="ferris-explain" alt="Ferris throwing up their hands"/> | 这些代码会 panic! |
|
|
|
|
|
| <img src="img/ferris/not_desired_behavior.svg" class="ferris-explain" alt="Ferris with one claw up, shrugging"/> | 这些代码没有产生期望的行为。 |
|
|
|
|
|
|
|
|
|
|
在大部分情况,我们会指引你将任何不能编译的代码纠正为正确版本。
|
|
|
|
|
|
|
|
|
|
## Rust社区
|
|
|
|
|
|
|
|
|
|
与国外的Rust发展如火如荼相比,国内的近况不是特别理想。
|
|
|
|
|
|
|
|
|
|
导致目前这种状况的原因,我个人认为有以下几点原因:
|
|
|
|
|
1. 上手难度大,学习曲线陡峭
|
|
|
|
|
2. 中文资料少,英文资料难学(基于原因1)
|
|
|
|
|
3. 没有体系化的学习路线,新人往往扫完一遍入门书籍,就不知道何去何从
|
|
|
|
|
|
|
|
|
|
因此我联合几个朋友一起创建了Rust编程学院(Rust College), 致力于给国内提供最新、最高质量Rust学习内容。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
官网网址:
|
|
|
|
|
- https://college.rs
|
|
|
|
|
- QQ群: 1009730433
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|