
作者:[加]郑宇、黄立群、[加]沈刚、黄晓涛、全丽莉
出版社:清华大学出版社
出版时间:2025年03月
编辑推荐
计算机语言发展到现在,可以说八仙过海,各有长短:C/C 语言侧重于低级的系统编程(诸如OS,I/O,设备驱动等)和嵌入式编程,优点在于快速高效;Python语言在大数据分析和深度学习方面有独到的优势;Java语言胜在稳定和安全;而Golang则被称为云编程语言。Rust语言则被普遍认为是一种关注内存安全的系统编程语言,同时结合了对性能的低层控制与许多的现代语言特征。谷歌研究认为内存安全漏洞是困扰无数系统的实际威胁。最近一项研究发现,每年通过安全更新解决的漏洞中,约70%属于内存安全问题。
内容简介
本书首先介绍了Rust语言的历史、特点、与其他编程语言的优缺点对比,以及可能的应用领域,并详细讲解了Rust安装编译的基本流程、基本命令和各种与Rust编程相关的准备工作。然后,对于想开始学习Rust编程语言的读者,本书继续介绍Rust编程语言的基础知识,诸如关键字、基本类型、基本语句、变量、运算符以及各种错误处理和测试手段。针对每个应用领域,本书用实例演示如何从零开始编写实用例子。
本书的另一个重要原则是边学习、边实践。在每一个学习阶段,除了引入丰富的例子讲解Rust语言的基本要点以外,还编写了专门的章节,说明如何利用已学习的知识来编写简单实用的Rust小程序,综合演示Rust语言的使用方法。
本书配套教学资源包括PPT、样例代码、视频以及外部资源链接,可供读者进一步学习使用。
目 录
介绍篇
第5章错误处理
5.1对象解封
5.2Expect()
5.3Option类型
5.4Result类型
5.5访问和变换Option和Result类型
5.5.1用map替换match
5.5.2逻辑组合子
5.5.3在Option和Result类型之间互相转换
5.6try!宏
5.7panic!宏
5.8From trait
5.9问号(?)操作符
显示全部信息
前 言
计算机语言发展至今,呈现出“百花齐放,各有所长”的局面: C/C 以快速高效著称,适合系统编程; Python在数据分析和人工智能领域独占鳌头; Java以稳定性见长; Go被誉为“云计算时代的编程语言”。Rust作为一门新兴的系统编程语言,不仅继承了C/C 的性能优势,更凭借其独特的内存管理机制(如生命周期、所有权、借用等)解决了长期困扰开发者的内存安全问题。据统计,70%的系统漏洞源于内存安全问题,而Rust正是为此而生的。
然而,Rust 的学习曲线如同一座陡峭的山峰,尤其是对习惯了传统编程语言(如 C/C 、Java、Python 等)的开发者而言,其函数式编程特性和创新的内存管理机制让许多初学者望而却步。但这座山峰并非不可征服——只要找到正确的路径,读者经过训练也能轻松登顶。本书基于作者20多年的实战经验,采用独特的“自底向上”教学法,将复杂的概念转化为直观的架构图、流程图和代码示例,帮助读者快速理解并掌握核心知识点。通过丰富的实战案例,我们将 Rust 的核心特性(如内存管理、并发/异步编程等)以工程师熟悉的视角逐一拆解,科学地降低学习难度。本书适合具有一定经验的软件工程师自学,也适合高等院校的计算机专业相关学生在教师的指导下学习。读者最好已经学习并掌握了一门编程语言(函数式编程语言 Haskell,或者过程式编程语言Java、C/C 、Python 等面向对象编程语言均可)。我们希望通过这种循序渐进、贴近实战的教学方式帮助读者快速掌握 Rust,并将其应用于实际项目,为未来的技术挑战做好准备。
本书的核心目标是让读者学完即用,快速上手 Rust 的实际开发。 我们不仅通过大量实例深入浅出地讲解编程的概念和技巧,更在每篇末尾精心设计了实战项目,完整呈现从需求分析、任务拆解、架构设计到代码实现的全流程。这种“即学即用、接近实战”的方式可以确保读者不仅能理解Rust的核心知识点,还能立即将其运用到实际项目,掌握独立开发应用程序的能力。
为提高阅读效率,代码讲解多采用注释形式(以“//”或“#”标记),仅对关键知识点进行正文解析。此外,为避免术语混淆,本书直接采用业界通用的英文术语(如 crate、trait 等),并在附录中提供中英文词汇对照表(Glossary)。本书所有示例均基于 Rust 2018 版(部分支持 Rust 2021 版),全部包含在随书附赠的教学资源包中,并已上传至GitHub和码云。示例涵盖区块链、Substrate、Solana、IPFS/Filecoin、同态加密(HE)、多方计算(MPC)、零知识证明(ZKP)等热门领域; 同时,代码实现均选择使用Tokio、Warp等流行框架。本书旨在帮助读者快速掌握Rust,“在战争中学会战争,在游泳中学会游泳”。如果读者希望深入某个领域,本书以及教学资源包还提供了丰富的资源链接,作为进一步学习的起点。
年轻的Rust潜力无限,它正在定义编程的未来。鉴于目前中文版Rust相关书籍稀缺,本书希望能填补这一空白,并推动Rust编程语言进入高校计算机教育课程体系,为即将到来的Rust编程语言大规模应用培养更多的人才。Trust Rust,trust yourself,让我们一起拥抱这场技术变革,用Rust开启编程的新篇章!
资料获取
可以在https://gitee.com/gavinzheng731/rustprogrammingbook获得本书的示例程序、相关文件、论文、PPT课件等配套资源; 镜像站为https://github.com/gavinzheng/RustProgramBook。这些资料也可以在本书的教学资源包中找到。
致谢
感谢催生本书的出版界的朋友: 清华大学出版社郭赛编辑,Springer朱伟博士,AM文化合伙人周瑾瑜女士。感谢武汉北大高科软件股份有限公司罗铮先生、王涛先生、邓昕先生; 北科信链数字有限公司戴天年先生、成璋先生; 深圳技术大学城市交通与物流学院罗钦先生; 武汉城市职业学院教务处处长肖静教授,校工会常务副主席程华平老师,计算机与电子信息工程学院院长向健极教授,党总支书记黄毅老师,副院长王世刚副教授、王社副教授,软件教研室黄涛老师,教学办公室主任叶飞老师、钟雯老师; 中通服湖北公司区块链研究院卢赓先生; 深圳安复每天王振宇先生、曹彦能女士对本书编写工作的支持。
作者
2025年3月
