Rust Essentials:Rust编程基础
Rust Essentials:Rust编程基础
简介:
引言
由Ivo Balbaert撰写的《Rust Essentials》(2017年出版,共294页)是一本实用的Rust编程语言入门书。Rust因其安全性、高性能和现代特性而迅速流行。在本书出版时,它是为数不多的、面向已熟悉其他语言(C、C++、Python、Java)的开发者的结构化Rust指南之一。
在这篇书评中,我们将分析这本书的内容、目标读者、涵盖的主题,以及在Rust生态系统已大幅发展的今天,是否还值得一读。
本书内容
《Rust Essentials》既不是参考手册,也不是学术教材。它是一本实践指南,循序渐进地向读者介绍Rust的核心概念:所有权(ownership)、借用(borrowing)、生命周期(lifetimes)、类型系统、trait、错误处理、内存管理、多线程以及与C代码的交互。本书围绕小型项目和代码示例展开,这些示例可以立即运行和修改。
作者从工具安装和环境配置开始,然后讲解语法、内存管理、数据结构、函数、模块和测试。单独的章节涵盖了外部库(crates)的使用、使用Rust创建Web应用程序(使用当时流行的Iron框架),以及通过FFI(外部函数接口)与C的交互。
本书适合谁
本书面向有其他语言(C、C++、Python、Java、C#)编程经验的程序员。如果您从未编程过,《Rust Essentials》可能会显得困难,因为作者没有解释循环、数组或函数等基本概念——假设读者已经熟悉它们。然而,对于那些希望快速入门Rust的人来说,这本书将是一个很好的起点。
读者将学到什么
- Rust语法基础:变量、数据类型、控制结构、函数。
- 所有权和借用系统:Rust如何在没有垃圾回收的情况下保证内存安全。
- 生命周期(lifetimes):编译器如何检查引用的正确性。
- Trait和泛型编程:创建多态代码。
- 错误处理:使用
Result、Option、panic!以及“unwrap或expect”模式。 - 集合的使用:向量、字符串、哈希表。
- 模块和代码组织:如何构建项目结构。
- 测试:单元测试、集成测试、文档测试。
- 多线程和并发:线程、通道、互斥锁、
Arc。 - 与C的交互:从Rust调用C函数以及反向调用。
- 创建Web应用程序:基于Iron的简单HTTP服务器。
本书的优势
实践导向。每章都包含可复制并运行的代码示例。作者不沉迷于理论,而是立即展示如何在实践中应用概念。
结构清晰。本书逻辑清晰,由浅入深。学习基础知识后,读者已准备好学习更高级的主题,如多线程和FFI。
语言通俗易懂。Ivo Balbaert写作清晰,没有过多的学术气息。复杂的概念(例如生命周期)通过具体示例进行解释,便于理解。
强调安全性。本书不断提醒Rust的哲学:在不牺牲性能的前提下保证安全。这有助于读者立即养成正确的编程风格。
章节末尾的项目。