阅读建议

本书目标读者

本书并非 Rust 理论书籍,对 Rust 语法基础未做介绍,因此阅读本书需要掌握 Rust 语言基础。

本书适用于 Rust 程序员新手,以便于他们可以快速了解和学习 Rust 生态系统中的各类 crate。并且可以跟随本书实例,对感兴趣的 crate 进行实践应用,掌握其功能。

同时,本书也适用于经验丰富的 Rust 程序员,他们可以在本书中找到如何完成常见任务的提示。并且可以参考本书中的实践解读,对目标 crate 进行比较分析,对技术选型做以辅助。

如何阅读本书

本书的目录展示了实践应用范畴和具体实践实例,组织为数个章节,如算法、压缩、数据结构等。这些章节是按照英文名称顺序排列的;后面的章节更深入一些,并且有些实例是在前面章节的概念之上构建。

在每章的初始介绍中,都列出了本章包含的实例列表。实例名称是要完成任务的简单描述,比如“在一个范围内生成随机数”;每个实例都有标记指示所使用的 crates,比如 rand-badge;以及 crate 在官方 crates 注册站点的分类,比如 cat-science-badge

Rust 程序员新手应该按照由第一章节直至最后章节的顺序来阅读,这种方式易于理解书中的实例。同时,这样也可以对 crate 生态系统有一个全面的了解。点击索引中的章节标题,或者在侧边栏中导航到本书的章节页面。

如果你只是在简单地为一个任务的寻找解决方案,那么找到特定实例的最简单的方法是详细查看目录,然后导航至每章的首页,根据实例名称(即是要完成任务的简单描述)查阅是否适配你的解决方案。

如何使用实例

本书的设计是为了让你能够即时访问可工作的代码,以及对其正在做什么有一个完整阐述,并指导你了解如何更进一步的信息。

本书中的所有实例都是完整的、可独立运行的程序,因此你可以直接复制它们到自己的项目中进行试验。为此,请按照以下说明进行操作。

考虑这个实例:“在一个范围内,生成随机数”:

rand-badge cat-science-badge

use rand::Rng;

fn main() {
    let mut rng = rand::thread_rng();
    println!("Random f64: {}", rng.gen::<f64>());
}

欲在本地使用,我们可以运行以下命令来创建一个新的 cargo 项目,并切换到该目录:

cargo new my-example --bin
cd my-example

然后,我们还需要添加必要的 crate 到 Cargo.toml 中,如上面实例代码顶部的 crate 标志所示,在本实例中仅使用了 “rand” crate。为了增加 “rand” crate,我们将使用 cargo add 命令,该命令由 [cargo-edit] crate 提供,我们需要先安装它:

cargo install cargo-edit
cargo add rand

接下来,可以使用实例代码替换 src/main.rs 文件的全部内容,并通过如下命令运行:

cargo run

亲,成功执行了吧?你已经是一个 Rustacean(Rust 开发者)了!