登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2025年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書

『簡體書』Effective Rust:编写高质量Rust代码的35个有效方法

書城自編碼: 4195067
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [英]大卫·德赖斯代尔
國際書號(ISBN): 9787111799108
出版社: 机械工业出版社
出版日期: 2026-01-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 108.9

我要買

** 我創建的書架 **
未登入.



新書推薦:
厨房药房:用香料和药草疗愈身心
《 厨房药房:用香料和药草疗愈身心 》

售價:HK$ 54.8
稳富:悄悄存钱,稳稳变富
《 稳富:悄悄存钱,稳稳变富 》

售價:HK$ 63.8
神圣罗马帝国
《 神圣罗马帝国 》

售價:HK$ 140.8
优势累积:给中国家庭的松弛父母课
《 优势累积:给中国家庭的松弛父母课 》

售價:HK$ 64.7
汗青堂丛书163——狄仁杰与武则天:武周革命与平民官僚的崛起
《 汗青堂丛书163——狄仁杰与武则天:武周革命与平民官僚的崛起 》

售價:HK$ 96.8
历史、神话与艺术:东西方文化的解读和比较
《 历史、神话与艺术:东西方文化的解读和比较 》

售價:HK$ 74.8
在别处安家:关于逃离、生存与梦想破碎之地
《 在别处安家:关于逃离、生存与梦想破碎之地 》

售價:HK$ 74.8
棉花王国 密西西比河流域的奴隶制与资本主义	(一部改写美国奴隶制认知的史学佳作)
《 棉花王国 密西西比河流域的奴隶制与资本主义 (一部改写美国奴隶制认知的史学佳作) 》

售價:HK$ 129.8

編輯推薦:
想写出安全、地道的高质量Rust代码,却被生命周期、trait用法、工程化规范难住?本书为你而来!OReilly经典系列重磅新作,作者提炼35个核心有效方法,从类型系统、trait设计到依赖管理、工具实操,全流程拆解Rust编程精髓。书中聚焦惯用法与内存安全,搭配编译器优化技巧与实战案例,不管你是有基础的Rust学习者,还是寻求进阶的开发者,都能快速夯实核心能力,写出规范、高效的工业级Rust代码!
內容簡介:
本书是Rust编程进阶指南,面向有基础的学习者。第1章讲解类型系统,涵盖基本类型、枚举等及类型转换等技巧;第2章聚焦Traits,介绍标准库Traits及设计原则;第3章解析生命周期、借用检查器等核心概念;第4章探讨依赖项管理,包括语义化版本、可见性等;第5章介绍文档、宏、测试等工具使用;第6章涉及no_std环境、FFI交互等进阶内容。全书通过具体条款提供实用建议,帮助读者写出规范、高效的Rust代码。如果你是一名具备现有编译型语言经验的软件工程师,或者你在将Rust语法的基础理解转化为实际可运行的程序时遇到了困难,那么这本书正是为你量身打造的。本书聚焦于Rust与其他编译型语言之间的概念差异,并提供了程序员可轻松遵循的具体建议。通过学习本书,你将很快写出流畅的Rust代码,而非蹩脚的“C++翻译版”代码。
關於作者:
David Drysdale是Google的高级软件工程师,自2019年起便从事Rust相关工作,主要聚焦安全领域。他牵头用Rust重写了Android的硬件加密子系统,还主导了加密库Tink的Rust移植工作。他还涉足C/C++和Go语言开发,参与过Linux内核研发、移动视频会议应用开发等各类项目。
目錄
目录
前言1
第1章 类型5
第1条:使用类型系统表示数据结构5
第2条:使用类型系统表达常见行为13
第3条:优先选择Option和Result转换,而非显式match表达式22
第4条:优先使用惯用的Error类型27
第5条:理解类型转换34
第6条:拥抱newtype模式40
第7条:对复杂类型使用构造器45
第8条:熟悉引用和指针类型51
第9条:考虑使用迭代器转换代替显式循环62
第2章 trait75
第10条:熟悉标准库的trait75
第11条:为RAII模式实现Drop trait86
第12条:理解泛型和trait对象之间的权衡91
第13条:使用默认实现来减少需要实现的trait方法99
第3章 概念101
第14条:理解对象生命周期101
第15条:理解借用检查器118
第16条:避免写unsafe代码136
第17条:对共享状态的并行性保持警惕138
第18条:不要panic151
第19条:避免反射154
第20条:避免过度优化的诱惑160
第4章 依赖项166
第21条:理解语义化版本166
第22条:最小化可见性171
第23条:避免通配符导入175
第24条:重新导出在API中所用的依赖项类型177
第25条:管理依赖图180
第26条:警惕特性蔓延186
第5章 工具191
第27条:为公共接口撰写文档191
第28条:在合适的时候使用宏196
第29条:遵循Clippy的建议210
第30条:不仅仅是单元测试213
第31条:使用生态系统工具221
第32条:搭建持续集成系统223
第6章 超越标准Rust228
第33条:考虑使库代码与no_std兼容228
第34条:控制跨越FFI边界的内容233
第35条:优先使用bindgen而不是手动FFI映射245
后记248
內容試閱
前言
代码更像是指导原则,而不是实际规则。
—Hector Barbossa
在众多现代编程语言中,Rust与众不同。Rust提供了编译语言的速度、非垃圾回收语言的高效以及函数式语言的类型安全,同时,还提供了解决内存安全问题的独特方案。因此,Rust经常被评为最受欢迎的编程语言( />Rust类型系统的强大和一致性意味着,如果一个Rust程序能够编译通过,那么它可以正常工作的可能性已经相当大了,这种现象之前只存在Haskell等更偏学术性且晦涩难懂的语言中。如果一个Rust程序能够编译通过,那么它也将安全地工作。
然而,这种安全(包括类型安全和内存安全)确实是有代价的。尽管基本文档的质量很高,但Rust还是以入门门槛高而闻名,初学者必须经历与借用检查器“斗智斗勇”、重新设计数据结构以及被生命周期搞糊涂等入门仪式。虽然Rust程序一旦编译通过第一次运行时就很有可能正常工作,但是要想让程序成功编译,实则困难重重,即便Rust编译器提供了极为有用的错误诊断信息,也依然如此。
读者对象
本书试图为那些面临上述棘手问题的程序员提供帮助,即便他们已有C++等现有编译语言的使用经验。因此,与其他Effective系列书籍一样,本书适合作为Rust初学者的第二本读物—在他们已经通过其他途径[例如,The Rust Programming Language(Steve Klabnik和Carol Nichols,No Starch Press)或Programming Rust(Jim Blandy等人,
O’Reilly)]掌握基础知识之后阅读。
然而,Rust的安全性使得本书中的建议与Scott Meyers的Effective C++系列相比,侧重点略有不同。C++语言充满了陷阱,所以Effective C++基于C++软件开发的实际经验,
提供了一系列避免这些陷阱的建议。重要的是,它包含的是指导原则而不是规则,因为指导原则总是有例外—通过详细阐述指导原则形成及使用的理由,读者可以自行决定特定情况下是否需要违反原则。
本书依然保留了提供建议并阐明背后原因这一总体风格。但是,由于Rust几乎没有陷阱,因此这里的建议更多地集中在Rust引入的概念上。许多建议的标题都是“理解……”和“熟悉……”,旨在帮助读者写出流畅、地道的Rust代码。
Rust的安全性还使得本书完全没有出现标题为“永远不要……”的条目。如果某事真的不应该做,那么编译器通常会阻止你这样做。
Rust版本
本书是基于Rust 2018版及稳定工具链编写的。Rust的后向兼容性承诺( />这里的条目没有涵盖Rust的任何异步功能( Async Rust。
书中代码段和错误信息所使用的具体rustc版本是1.70。代码段不太可能需要针对更高版本进行更改,但错误信息可能会因你使用的特定编译器版本而有所不同。本书中收录的错误信息都经过手动编辑,以适应版面的宽度限制,除此之外都是编译器生成的。
本书中有许多对其他静态类型语言的引用和比较,如Java、Go和C++,旨在帮助有这些语言经验的读者定位自己( C++可能是与Rust相似度最高的语言,特别是当C++11的移动语义发挥作用时)。
本书导读
本书共6章:
第1章介绍关于Rust核心类型系统的建议。
第2章介绍关于使用Rust trait的建议。
第3章介绍构成Rust设计核心思想的概念。
第4章介绍关于使用Rust依赖项的建议。
第5章介绍除了Rust编译器之外,改善代码库的工具。
第6章介绍当你需要在Rust标准、安全环境之外工作时的建议。
虽然第3章可能比第1章和第2章更基础,但刻意把它放在第3章,以便让按顺序从头阅读的读者可以先建立一些信心。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。
O’Reilly在线学习平台(O’Reilly Online Learning)
40多年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问 />如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
对于本书中文版的勘误内容,请发送电子邮件至errata@oreilly.com.cn。
本书配套网站 />关于书籍、课程、会议和新闻的更多信息,请访问我们的网站 />我们在LinkedIn上的地址: />我们在YouTube上的地址: />致谢
衷心感谢所有帮助我完成本书的朋友们:
技术审校者对本书的所有方面提供了专业和详细的反馈:Pietro Albini、Jess Males、Mike Capp,特别是Carol Nichols。
O’Reilly的编辑团队:Jeff Bleiel、Brian Guerin和Katie Tozer。
Tiziano Santoro,最初我从他那里学到了许多关于Rust的知识。
Danny Elfanbaum,他为本书的AsciiDoc格式处理提供了重要技术支持。
早期网络版的读者,特别是:
Julian Rosse指出了在线文本中数十处拼写和表述错误。
Martin Disch对多个章节提出了改进建议并修正了不准确之处。
Chris Fleetwood、Sergey Kaunov、Clifford Matthews、Remo Senekowitsch、Kirill Zaborsky,以及一位匿名Proton Mail用户,均指出了书中的错误。
我的家人,他们包容了我许多因写作而分心的周末。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2026 (香港)大書城有限公司  All Rights Reserved.