热门排行
简介
这份学习笔记是在学习Rust的过程中的记录,主要基于《Rust程序设计语言-简体中文版》和《RustPrimer》两份开源书籍。上面两本书籍相对全面但对部分初学者可能更为深奥一些,尤其是之前没有接触过C/C++ 和Rust语言的读者。因此有了想要分享的想法。这份学习笔记的主要贡献在于涵盖了所有工程上基于Rust进行开发需要掌握的基础和必备知识,并且重新调整了目录结构
你会在本书中发现两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项目章节中,我们应用目前所学的知识一同构建小的程序。第二、十二和二十章是项目章节;其余都是概念章节。
第一章介绍如何安装 Rust,如何编写 ”Hello, world!” 程序,以及如何使用 Rust 的包管理器和构建工具Cargo。第二章是 Rust 语言的实战介绍。我们会站在较高的层次介绍一些概念,而将详细的介绍放在稍后的章节中。如果你希望立刻就动手实践一下,第二章正好适合你。开始阅读时,你甚至可能希望略过
第三章,它介绍了 Rust 中类似其他编程语言中的功能,并直接阅读第四章学习 Rust 的所有权系统。然而,如果你是特别重视细节的学习者,并倾向于在继续之前学习每一个细节,你可能希望略过第二章并直接阅读第三章,并在想要构建项目来实践这些细节时再回来阅读第二章。
第五章讨论结构体和方法,第六章介绍枚举、match 表达式和 if let 控制流结构。在 Rust 中,你将使用结构体和枚举创建自定义类型。
第七章你会学习 Rust 的模块系统和私有性规则来组织代码和公有应用程序接口(Application Programming Interface, API)。第八章讨论了一些标准库提供的常见集合数据结构,比如可变长数组 (vector)、字符串和哈希 map。第九章探索了 Rust 的错误处理哲学和技术。
第十章深入介绍泛型、trait 和生命周期,他们提供了定义出适用于多种类型的代码的能力。第十一章全部关于测试,即使 Rust 有安全保证,也需要测试确保程序逻辑正确。第十二章,我们构建了属于自己的在文件中搜索文本的命令行工具 grep 的子集功能实现。为此会利用之前章节讨论的很多概念。
第十三章探索了闭包和迭代器:Rust 中来自函数式编程语言的功能。第十四章会更深层次的理解 Cargo并讨论向他人分享库的最佳实践。第十五章讨论标准库提供的智能指针以及启用这些功能的 trait。
第十六章会学习不同的并发编程模型,并讨论 Rust 如何助你无畏的编写多线程程序。第十七章着眼于比较 Rust 风格与你可能熟悉的面向对象编程原则。
第十八章是关于模式和模式匹配的参考章节,它是在 Rust 程序中表达思想的有效方式。第十九章是一个高级主题大杂烩,包括 unsafe Rust、宏和更多关于生命周期、trait、类型、函数和闭包的内容。
第二十章将会完成一个项目,我们会实现一个底层的、多线程的 web server!
最后是一些附录,包含了一些关于语言的参考风格格式的实用信息。附录 A 介绍了 Rust 的关键字。附录 B 介绍 Rust 的运算符和符号。附录 C 介绍标准库提供的派生 trait。附录 D 涉及了一些有用的开发工具,附录 E 介绍了 Rust 的不同版本。