Rust 入门小指南
Contents
参考书籍
强烈推荐两本参考书:
-
这本书是 Rust 核心团队写的,深入浅出的典范,Rust 的很多基本概念都可以从这里进行了解。这本书是开源的,中文开源翻译版本可以参考:Rust 程序设计。中文纸质书和社区翻译版书名不太一样,但是内容基本是一致的。这本书里面有两个相对比较简单的大作业,跟着做一遍基本对 Rust 编程也很好的体验。这本书在 Rust 官方网站 称为 The book,英文原版在这里,内容看起来和之前中文的翻译并没有太多更新。
-
这本书比第一本书讲得要更深入写,两位作者有着深厚的 C/C++ 编程背景,在描述语言特性的时候会从和 C/C++ 的语言特性对比来讲,并会讲一讲语言的实现设计,既适合当工具书,也适合作为进阶读物。这本书最近已经出了新版本。
如果是从 Go 或者 C/C++ 过来的同学,建议先读第一本书,因为基本不需要前置知识,例子也多,读得差不多了再看第二本温故知新。参考书宜精不宜多,感觉这两本对于入门完全足够了,剩下的就是自己做项目写代码了。
中国人写的书有两本,一本是《深入浅出 Rust》,另一本是《Rust 编程之道》,个人感觉写得不算太好,不过可以当成参考书翻一翻。
社区资源
必须是 awesome-rust。这里顺便重点提几个:
-
这里对于 Rust 每个特性都列举了很多 examples,很适合参考。
-
关于 Rust 具体语法的官方参考说明,很适合当手册查。
-
戏称为 《Rust 死灵书》,中文版社区翻译可以参考:Rust 高级编程。这本书主要是讲了不少 Rust 底层实现和如何写 unsafe 代码;
-
顾名思义,介绍 Cargo 使用和生态。
-
Asynchronous Programming in Rust
Rust 异步编程指南,主要讲怎么用
async
和await
机制来进行异步编程。 -
中文社区,适合消遣看看,公众号也有不少有意思的资讯。
开发环境
如果是用 VSCode 和 JetBrain 全家桶系列的同学,直接装相应的插件就可以了,非常容易(vim 用户应该也是类似)。
crates 站点中国访问可能有点慢,可以用下面的 mirrors:
|
|
以上配置文件直接写到 $HOME/.cargo/config
(如果没有就直接创建一个)。
类似于 gofmt,Rust 也有 rustfmt,每次写完代码之后记得 format 一下(不少插件可以自动配置)。
Rust 的 lint 工具是 rust-clippy,里头有不少 lint 规则,如果是用 IDE 的话,插件默认集成这些 lint 规则,写代码的时候就可以自动提醒。