新書推薦:
《
海外中国研究·中国乐书:从战国到北宋
》
售價:HK$
162.8
《
明代赋役与白银——梁方仲著作集
》
售價:HK$
79.2
《
量子纠缠
》
售價:HK$
63.8
《
拥抱真实自我:内在小孩的探索和疗愈
》
售價:HK$
64.9
《
黑暗王后:缔造中世纪世界的血腥竞争
》
售價:HK$
129.8
《
小行星猎人:贝努小行星生命起源样本采集任务全记录
》
售價:HK$
63.8
《
孙机谈文物
》
售價:HK$
118.8
《
诡舍(夜来风雨声悬疑幻想震撼之作)
》
售價:HK$
54.8
編輯推薦:
本书将Rust编程语言的学习难度降至比以往任何时候都低,作者以专家级的组织方式将本书分为简短、易于消化的章节,帮助读者快速入门。本书面向各个层次的开发者,作者从最基本的知识入手,全面揭开Rust技术革新的神秘面纱,正是这些革新让Rust成为下一代开发的理想选择。本书涵盖了Rust编程的方方面面,从类型和赋值到所有权、生命周期、trait和crate。作者甚至为单元测试、处理不安全代码、与遗留代码库交互以及使用Rust日益强大的工具提供了不可或缺的专家建议。 本书特色 章节简练,易于理解 清晰地阐释了诸如生命周期、所有权和模式等创新特性 内容实用、重点突出、全面且前沿 既适合新手入门,又适合专业开发者作为参考 Rust不仅仅是一门新语言,它还代表着编程方式的一种哲学转变。通过阅读本书,你不仅能掌握Rust开发技术,还能学会Rust编程思想。 让Rust成为你手中的重要工具,从而在这个极速发展的领域获得机会。 Rust令人兴奋的创新使得它连续五年成为Stack Overflow颇具影响力的开发者调查中最受喜爱的编程语言——但其陡峭的学习曲线让许多开发者望而却步。随着全球众多领先开发组织对R
內容簡介:
本书主要介绍Rust编程,作为一名资深企业开发人员,作者将Rust编程的相关知识熟练地组织成简短的章节,让你能快速上手。从类型到赋值,再到ownership、lifetimes、traits和crates,本书先从基础开始,彻底揭开Rust技术的神秘面纱,让读者清楚明白这门语言的魅力所在。最后,作者还针对单元测试、处理不安全代码、与遗留代码库互操作以及使用Rust日益强大的工具提供了不可或缺的专家建议。本书适合对Rust感兴趣的所有级别的开发人员阅读。
關於作者:
Donis Marshall拥有超过20年的软件设计和开发经验,专注于为各行业头部公司提供基于微软技术的企业软件解决方案。作为一名微软MVP和MCT,多年来他也在致力于培训其他开发者和工程师。他著有Programming Microsoft Visual C#(2005)、Programming Microsoft Visual C#(2008)以及Solid Code(2009)等书籍。
目錄 :
目 录 Contents 译者序 第1章 Rust简介 1 1.1 简介 1 1.1.1 函数式编程 2 1.1.2 面向表达式编程 3 1.1.3 面向模式编程 3 1.2 特性 4 1.2.1 安全性 4 1.2.2 所有权 5 1.2.3 生命周期 5 1.2.4 无畏并发 6 1.2.5 零成本抽象 6 1.3 Rust术语 6 1.4 工具 7 1.5 总结 8 第2章 入门 9 2.1 准备工作 9 2.2 Rust和Windows 10 2.3 安装Rust 10 2.4 Rustup高级主题 11 2.5 “Hello,World” 11 2.6 编译并运行 12 2.7 cargo 13 2.8 库 15 2.9 注释 17 2.10 crate仓库 19 2.11 main函数 21 2.12 命令行参数 22 2.13 总结 22 第3章 变量 24 3.1 术语 24 3.2 变量简介 25 3.3 原生类型 25 3.4 整数类型 26 3.5 溢出 27 3.6 字面量标注 28 3.7 浮点数类型 29 3.8 浮点数常量 29 3.9 无限 30 3.10 NaN 30 3.11 数字范围 31 3.12 显式类型转换 32 3.13 布尔类型 32 3.14 字符 33 3.15 指针 33 3.16 运算符 36 3.17 总结 38 第4章 字符串 39 4.1 str 39 4.2 字符串简介 40 4.2.1 长度 41 4.2.2 扩展字符串 42 4.2.3 容量 43 4.2.4 访问字符串的值 44 4.2.5 字符串里的字符 45 4.2.6 Deref强制转换 46 4.2.7 格式化的字符串 46 4.2.8 实用函数 47 4.3 总结 49 第5章 控制台 51 5.1 输出 51 5.2 位置参数 52 5.3 变量参数 53 5.4 命名参数 53 5.5 填充、对齐和精度 54 5.6 进制 56 5.7 开发者友好 56 5.8 write!宏 57 5.9 Display trait 58 5.10 Debug trait 59 5.11 format!宏 60 5.12 控制台读写 60 5.13 总结 61 第6章 控制流 62 6.1 if表达式 62 6.2 while表达式 65 6.3 for表达式 67 6.4 loop表达式 70 6.4.1 loop break表达式 70 6.4.2 loop标签 71 6.5 Iterator trait 73 6.6 总结 74 第7章 集合 75 7.1 数组 75 7.1.1 多维数组 77 7.1.2 访问数组元素 78 7.1.3 切片 79 7.1.4 数组的比较 80 7.1.5 迭代 80 7.1.6 隐式转换 81 7.2 向量 81 7.2.1 多维向量 83 7.2.2 访问向量元素 83 7.2.3 迭代 84 7.2.4 调整大小 85 7.2.5 容量 85 7.3 HashMap 86 7.3.1 创建一个HashMap 87 7.3.2 访问HashMap 88 7.3.3 更新条目 88 7.3.4 迭代 89 7.4 总结 90 第8章 所有权 91 8.1 栈内存和堆内存 92 8.2 浅拷贝与深拷贝 92 8.3 汽车类比 93 8.4 移动语义 93 8.5 借用 94 8.6 复制语义 95 8.7 Clone trait 95 8.8 用于浅拷贝的Copy trait 96 8.9 用于深拷贝的Clone trait 98 8.10 总结 99 第9章 生命周期 100 9.1 生命周期简介 101 9.2 函数和生命周期 102 9.3 生命周期标注 104 9.4 生命周期省略 105 9.5 复杂的生命周期 105 9.6 共享生命周期 107 9.7 静态生命周期 108 9.8 结构体和生命周期 108 9.9 方法和生命周期 109 9.10 子类型化生命周期 111 9.11 匿名生命周期 112 9.12 泛型和生命周期 113 9.13 总结 113 第10章 引用 114 10.1 声明 115 10.2 借用 115 10.3 解引用 116 10.4 引用的比较 117 10.5 引用标记 118 10.6 引用的引用 118 10.7 可变性 119 10.8 多重借用的限制 121 10.9 总结 121 第11章 函数 123 11.1 函数定义 124 11.2 参数 124 11.3 函数返回值 126 11.4 常函数 128 11.5 嵌套函数 129 11.6 函数指针 129 11.7 函数别名 131 11.8 总结 132 第12章 错误处理 133 12.1 处理错误 134 12.2 Result枚举 134 12.3 Option枚举 135 12.4 panic 136 12.4.1 panic!宏 138 12.4.2 处理panic 139 12.5 unwrap 142 12.6 Result和Option的模式 匹配 143 12.7 map 145 12.8 富错误 148 12.9 自定义错误 148 12.10 总结 150 第13章 结构体 152 13.1 其他初始化方法 155 13.2 移动语义 156 13.3 可变性 157 13.4 方法 157 13.5 self 159 13.6 关联函数 160 13.7 impl块 161 13.8 运算符重载 162 13.8.1 一元运算符重载 162 13.8.2 二元运算符重载 163 13.9 元组结构体 165 13.10 总结 167 第14章 泛型 168 14.1 泛型函数 169 14.2 约束 173 14.3 where子句 175 14.4 泛型结构体 176 14.5 关联函数 180 14.6 枚举 181 14.7 泛型trait 182 14.8 显式特化 1
內容試閱 :
译 者 序 亲爱的读者: 当第一次接触Rust语言时,我就被它独特的设计理念和强大的功能所深深吸引。作为一名有多年编程经验的开发者,我深知一门优秀的编程语言对于提高开发效率、保证代码质量的重要性。Rust正是这样一门语言——它不仅继承了C/C++的高性能,还通过创新的内存管理机制和并发模型解决了传统系统编程语言的诸多痛点。 Rust的出现无疑是编程语言发展史上的一个重要里程碑。它巧妙地平衡了开发效率和运行效率,为开发者提供了一种全新的编程范式。Rust的核心理念——安全性、并发性和性能,正是现代软件开发所追求的目标。通过所有权系统和借用检查器,Rust在编译时就能够捕获大多数内存错误和并发问题,这不仅大大提高了程序的可靠性,还减轻了开发者的心理 负担。 能够翻译这本优秀著作,我感到由衷的兴奋和荣幸。本书不仅全面系统地介绍了Rust语言的各项特性,还通过大量精心设计的示例深入浅出地讲解了Rust的编程思想。从基础语法到高级特性,从内存管理到并发编程,本书几乎涵盖了Rust语言的方方面面。无论你是Rust新手,还是有一定经验的开发者,相信都能从本书中获益良多。 本书结构清晰,循序渐进,非常适合系统学习Rust。书中首先介绍Rust的基本语法和核心概念,如变量、函数、控制流等,为读者打下坚实的基础。接着深入探讨Rust的特色功能,包括所有权系统、生命周期、智能指针等,这些是理解和掌握Rust的关键。在此基础上,作者又详细讲解了Rust的模块系统、错误处理机制、并发编程模型等高级主题,帮助读者全面提升Rust编程水平。 最令我印象深刻的是,本书不仅教授了“如何使用Rust”,还解释了“为什么要这样使用Rust”。通过深入剖析Rust的设计哲学和背后的原理,本书将帮助读者真正理解Rust的独特之处,从而写出更加优雅、高效的Rust代码。 在翻译过程中,我们遇到了不少挑战,也收获了许多宝贵的经验。Rust有许多独特的概念和术语,如“所有权”“借用”“生命周期”等,这些概念在其他语言中往往没有直接对应的表述。为了准确传达这些概念,我们借鉴了其他Rust相关著作中的翻译,建立了标准的术语表,力求在准确性和可读性之间找到最佳平衡,并在必要时保留了英文原文,以帮助读者更好地理解和使用。 同时,考虑到中文读者的阅读习惯,我们也对部分内容的表述做了适当调整,以使行文更加流畅自然。对于原作者书写过程中少量表述不够准确的地方,我们做了批注和更正,并以译者注的形式放在脚注中。 Rust语言正在全球范围内迅速崛起,被越来越多的开发者和企业所采用。在国内,我们也看到越来越多的公司开始在关键项目中使用Rust。从系统编程到Web开发,从游戏引擎到区块链应用,Rust的身影无处不在。我相信,随着更多开发者认识到Rust的优势,它在中国的应用将会更加广泛。 作为译者,我们衷心希望本书能够成为你学习和掌握Rust的得力助手,帮助你在Rust的世界里畅游自如。Rust的学习曲线确实比较陡峭,尤其是对于那些习惯了垃圾回收语言的开发者来说。但是,一旦你掌握了Rust的核心概念,你就会发现它带来的编程体验是如此令人愉悦和充实。Rust不仅能让你写出更安全、更高效的代码,还能帮助你建立更严谨的编程思维,这些都将成为你宝贵的职业资产。 在这个软件和AI正在“吞噬世界”的时代,我们比任何时候都更需要一种能够构建可靠、高效、安全系统的编程语言。Rust正是为此而生的,因为在Rust强大、严格的编译器的保证下,使用AI生成的Rust代码能够更加安全、高效,并能够让开发者少写很多测试用例。AI+Rust,能够为一些关键领域(操作系统、驱动、数据库、自动驾驶、机器人等)的编程带来巨大的生产效率提升,同时还能保证可靠性。这是其他大部分语言做不到的。Rust不仅是一门编程语言,更是一种新的编程哲学,倡导在编译时就发现和解决问题,而不是将其留到运行时。这种思想正在改变我们构建软件的方式,使得即便是大型、复杂的系统也能保持较高的可靠性和性能。 让我们一起拥抱Rust,探索这门令人兴奋的现代编程语言!无论你是想提升自己的编程技能,还是希望在职业发展中占得先机,学习Rust都是一个明智的选择。 最后,我要特别感谢本书作者Donis Marshall为我们带来了这本精彩的著作,感谢机械工业出版社给了我这个翻译的机会,感谢审校专家们的宝贵意见,还要感谢我的家人在我翻译期间给予的理解和支持。当然,还要感谢你——亲爱的读者,是你的热情和需求推动着Rust语言和社区的不断发展。 如果你在阅读过程中发现任何问题或有任何建议,欢迎随时与我们联系。让我们共同努力,为Rust在中国的发展贡献一份力量。祝你阅读愉快,编程无忧! 唐 刚 2024年8月