参考书籍

强烈推荐两本参考书:

  • 《Rust 权威指南》

    这本书是 Rust 核心团队写的,深入浅出的典范,Rust 的很多基本概念都可以从这里进行了解。这本书是开源的,中文开源翻译版本可以参考:Rust 程序设计。中文纸质书和社区翻译版书名不太一样,但是内容基本是一致的。这本书里面有两个相对比较简单的大作业,跟着做一遍基本对 Rust 编程也很好的体验。这本书在 Rust 官方网站 称为 The book,英文原版在这里,内容看起来和之前中文的翻译并没有太多更新。

  • 《Rust 程序设计》

    这本书比第一本书讲得要更深入写,两位作者有着深厚的 C/C++ 编程背景,在描述语言特性的时候会从和 C/C++ 的语言特性对比来讲,并会讲一讲语言的实现设计,既适合当工具书,也适合作为进阶读物。这本书最近已经出了新版本

如果是从 Go 或者 C/C++ 过来的同学,建议先读第一本书,因为基本不需要前置知识,例子也多,读得差不多了再看第二本温故知新。参考书宜精不宜多,感觉这两本对于入门完全足够了,剩下的就是自己做项目写代码了。

中国人写的书有两本,一本是《深入浅出 Rust》,另一本是《Rust 编程之道》,个人感觉写得不算太好,不过可以当成参考书翻一翻。

社区资源

必须是 awesome-rust。这里顺便重点提几个

开发环境

如果是用 VSCode 和 JetBrain 全家桶系列的同学,直接装相应的插件就可以了,非常容易(vim 用户应该也是类似)。

crates 站点中国访问可能有点慢,可以用下面的 mirrors:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
replace-with = 'sjtu'

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

以上配置文件直接写到 $HOME/.cargo/config(如果没有就直接创建一个)。

类似于 gofmt,Rust 也有 rustfmt,每次写完代码之后记得 format 一下(不少插件可以自动配置)。

Rust 的 lint 工具是 rust-clippy,里头有不少 lint 规则,如果是用 IDE 的话,插件默认集成这些 lint 规则,写代码的时候就可以自动提醒。