标签
内容简介
《深入浅出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特性的读者
阅读建议
- 按五大部分顺序阅读,重点放在第二部分内存安全,可反复读两遍并动手改代码
- 读每章语法点时同步写小例子,用cargo check观察借用检查器报错信息的变化
- 结合官方《The Rust Programming Language》和Rust标准库文档对照阅读,弥补版本差异
- 第20章Vec源码与第19章Unsafe较硬,第一遍可略读,完成小项目后再回头精读
出版社简介
机械工业出版社
中国 · 成立于 1950 年
机械工业出版社(China Machine Press)在科技与专业出版之外,库内图书还体现出对心理学、计算机、管理、财经与社科等方向的持续关注。心理学方面收入荣格作品及分析心理学导论,并涉及压力与健康、成瘾与疗愈等应用议题;计算机领域有《计算机程序的构造和解释(JavaScript版)》;管理与财经类包括《管理行为(原书第4版)》《不平等的代价(珍藏版)》《这次不一样:八百年金融危机史(纪念版)》;科学哲学与科学史方面则有《世界观(原书第3版)》。相关作者资源涵盖C.G.荣格、威廉·麦圭尔、索努·沙姆达萨尼、加博尔·马泰等。公开资料有限,以上仅据库内图书归纳其出版面貌。
目录
- 前言
- 第一部分 基础知识
- 第1章 与君初相见
- 第2章 变量和类型
- 第3章 语句和表达式
- 第4章 函数
- 第5章 trait
- 第6章 数组和字符串
- 第7章 模式解构
- 第8章 深入类型系统
- 第9章 宏
- 第二部分 内存安全
- 第10章 内存管理基础
- 第11章 所有权和移动语义
- 第12章 借用和生命周期
- 第13章 借用检查
- 第14章 NLL(Non-Lexical-Lifetime)
- 第15章 内部可变性
- 第16章 解引用
- 第17章 泄漏
- 第18章 Panic
- 第19章 Unsafe
- 第20章 Vec源码分析
- 第三部分 高级抽象
- 第21章 泛型
- 第22章 闭包
- 第23章 动态分派和静态分派
- 第24章 容器与迭代器
- 第25章 生成器
- 第26章 标准库简介
- 第四部分 线程安全
- 第27章 线程安全
- 第28章 详解Send和Sync
- 第29章 状态共享
- 第30章 管道
- 第31章 第三方并行开发库
- 第五部分 实用设施
- 第32章 项目和模块
- 第33章 错误处理
- 第34章 FFI
常见问题
这本书适合完全没有编程基础的人吗?
不适合。书中几乎不解释变量、循环、函数等通用编程概念,默认读者有C/C++、Java或Python基础。零基础读者建议先学一门主流语言,再回来读本书。
书的出版时间较早,现在读会不会过时?
本书2018年出版,语法示例基于Rust 1.2x版本,未覆盖async/await、Rust 2021 edition等新内容。但所有权、借用、生命周期、Send/Sync等核心机制至今未变,仍是很好的原理读物,只需配合官方文档补充新特性。
读完后能到什么水平?
能扎实理解Rust的类型系统、内存管理与并发安全机制,看懂常见的借用检查报错并正确修复。但工程能力还需通过实际项目、宏与异步编程的专项练习来补足。
需要边读边敲代码吗?
强烈建议。本书讲的是编译器行为与设计思想,只看文字容易产生“懂了”的错觉;用cargo新建工程复现示例并故意制造报错,理解会更牢固。
书里有没有配套源码或习题?
书中正文穿插大量可运行的代码片段,但没有系统性习题册;读者可自行搭建cargo工程整理代码,并参考作者在网络上发表的Rust技术文章。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。