深入浅出Rust 封面

深入浅出Rust

评分 4.1
字数
33.7万字
章节数
40
ISBN
9787111606420

标签

内容简介

《深入浅出Rust》由Rust开源项目贡献者范长春撰写,全书分为五个部分:第一部分讲Rust基础语法,涵盖变量与类型、语句与表达式、函数、trait、数组与字符串、模式解构、类型系统和宏;第二部分深入Rust独有的内存管理机制,讲内存管理基础、所有权与移动语义、借用与生命周期、借用检查、NLL、内部可变性、解引用、泄漏、Panic、Unsafe,并剖析Vec源码;第三部分讨论抽象表达能力,包括泛型、闭包、动态分派与静态分派、容器与迭代器、生成器以及标准库概览;第四部分讲并发与线程安全,涉及线程安全、Send与Sync、状态共享、管道和第三方并行开发库;第五部分介绍工程实用设施,包括项目与模块、错误处理、FFI、文档与测试,并附词汇表。作者的重点是不罗列语法特性,而是解释语言设计背后的思想,帮助读者透彻理解代数类型系统、生命周期、借用检查、内部可变性、泛型、闭包、迭代器等Rust高阶特性。全书约337千字,适合学生、软件工程师、研究人员等参考,对理解C++等其他系统编程语言也有裨益。

编辑推荐

本书是早期中文Rust原创图书中的代表作,作者范长春是中科院自动化所博士、Rust开源项目贡献者,也曾在微软工作,后来参与Coverity静态检查工具的开发,因此书中对编译器、类型系统和借用检查的讲解带有明显的“实现视角”。与同时期偏手册式的语言教程相比,本书真正的价值在于第二部分的“内存安全”:它把所有权与移动语义、借用与生命周期、借用检查、NLL、内部可变性、Unsafe以及Vec源码分析串成一条线,让读者明白这些规则为何存在、编译器在检查什么。第三、四部分关于泛型、闭包、trait对象、迭代器、生成器与Send/Sync、线程安全的讨论,也常被读者拿来作为理解并发模型的参考。书的结构清晰、有五大部分35章,篇幅约337千字,门槛适中但需要动手跟代码。需要注意,本书成书于2018年,尚未覆盖Rust 2018 edition之后的大量新特性(如async/await、新模块系统细节),读时建议对照官方《The Rust Programming Language》与最新文档补齐。

适合谁读

适合

  • 有C/C++、Python或Java基础、想系统入门Rust的开发者
  • 已经会写Rust但被借用检查、生命周期反复卡住的程序员
  • 需要理解Rust内存模型与并发安全原理的系统编程工程师
  • 讲授程序设计语言或系统编程课程的教师与研究人员

不适合

  • 完全零编程经验的初学者,书中很少讲基础编程概念
  • 只想找大量项目实战案例、照着做一个完整项目的读者
  • 需要覆盖async/await等最新Rust特性的读者

阅读建议

  1. 按五大部分顺序阅读,重点放在第二部分内存安全,可反复读两遍并动手改代码
  2. 读每章语法点时同步写小例子,用cargo check观察借用检查器报错信息的变化
  3. 结合官方《The Rust Programming Language》和Rust标准库文档对照阅读,弥补版本差异
  4. 第20章Vec源码与第19章Unsafe较硬,第一遍可略读,完成小项目后再回头精读

出版社简介

机械工业出版社 中国 · 成立于 1950 年

机械工业出版社(China Machine Press)在科技与专业出版之外,库内图书还体现出对心理学、计算机、管理、财经与社科等方向的持续关注。心理学方面收入荣格作品及分析心理学导论,并涉及压力与健康、成瘾与疗愈等应用议题;计算机领域有《计算机程序的构造和解释(JavaScript版)》;管理与财经类包括《管理行为(原书第4版)》《不平等的代价(珍藏版)》《这次不一样:八百年金融危机史(纪念版)》;科学哲学与科学史方面则有《世界观(原书第3版)》。相关作者资源涵盖C.G.荣格、威廉·麦圭尔、索努·沙姆达萨尼、加博尔·马泰等。公开资料有限,以上仅据库内图书归纳其出版面貌。

目录

  1. 前言
  2. 第一部分 基础知识
  3. 第1章 与君初相见
  4. 第2章 变量和类型
  5. 第3章 语句和表达式
  6. 第4章 函数
  7. 第5章 trait
  8. 第6章 数组和字符串
  9. 第7章 模式解构
  10. 第8章 深入类型系统
  11. 第9章 宏
  12. 第二部分 内存安全
  13. 第10章 内存管理基础
  14. 第11章 所有权和移动语义
  15. 第12章 借用和生命周期
  16. 第13章 借用检查
  17. 第14章 NLL(Non-Lexical-Lifetime)
  18. 第15章 内部可变性
  19. 第16章 解引用
  20. 第17章 泄漏
  21. 第18章 Panic
  22. 第19章 Unsafe
  23. 第20章 Vec源码分析
  24. 第三部分 高级抽象
  25. 第21章 泛型
  26. 第22章 闭包
  27. 第23章 动态分派和静态分派
  28. 第24章 容器与迭代器
  29. 第25章 生成器
  30. 第26章 标准库简介
  31. 第四部分 线程安全
  32. 第27章 线程安全
  33. 第28章 详解Send和Sync
  34. 第29章 状态共享
  35. 第30章 管道
  36. 第31章 第三方并行开发库
  37. 第五部分 实用设施
  38. 第32章 项目和模块
  39. 第33章 错误处理
  40. 第34章 FFI

常见问题

这本书适合完全没有编程基础的人吗?
不适合。书中几乎不解释变量、循环、函数等通用编程概念,默认读者有C/C++、Java或Python基础。零基础读者建议先学一门主流语言,再回来读本书。
书的出版时间较早,现在读会不会过时?
本书2018年出版,语法示例基于Rust 1.2x版本,未覆盖async/await、Rust 2021 edition等新内容。但所有权、借用、生命周期、Send/Sync等核心机制至今未变,仍是很好的原理读物,只需配合官方文档补充新特性。
读完后能到什么水平?
能扎实理解Rust的类型系统、内存管理与并发安全机制,看懂常见的借用检查报错并正确修复。但工程能力还需通过实际项目、宏与异步编程的专项练习来补足。
需要边读边敲代码吗?
强烈建议。本书讲的是编译器行为与设计思想,只看文字容易产生“懂了”的错觉;用cargo新建工程复现示例并故意制造报错,理解会更牢固。
书里有没有配套源码或习题?
书中正文穿插大量可运行的代码片段,但没有系统性习题册;读者可自行搭建cargo工程整理代码,并参考作者在网络上发表的Rust技术文章。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分