登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2025年04月出版新書

2025年03月出版新書

2025年02月出版新書

2025年01月出版新書

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

『簡體書』Rust权威指南(第2版)

書城自編碼: 4082976
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]Steve Klabnik [史蒂夫·克拉伯尼克],C
國際書號(ISBN): 9787121494734
出版社: 电子工业出版社
出版日期: 2025-02-01

頁數/字數: /
釘裝: 平塑

售價:NT$ 857

我要買

share:

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



新書推薦:
马长寿内陆欧亚学文存(全三集)
《 马长寿内陆欧亚学文存(全三集) 》

售價:NT$ 2030.0
银行业刑事风险防控与应对
《 银行业刑事风险防控与应对 》

售價:NT$ 449.0
语言、使用与认知
《 语言、使用与认知 》

售價:NT$ 321.0
帝国的叙事话语:国家身份塑造与冷战时期美国外交政策 北京大学人文学科文库
《 帝国的叙事话语:国家身份塑造与冷战时期美国外交政策 北京大学人文学科文库 》

售價:NT$ 704.0
世界上的城堡:一部千年古堡兴衰史(从军事建筑到中世纪城堡,59座经典古堡,高清全彩图文,精装收藏品质)
《 世界上的城堡:一部千年古堡兴衰史(从军事建筑到中世纪城堡,59座经典古堡,高清全彩图文,精装收藏品质) 》

售價:NT$ 1214.0
缪斯的诞生 现代西方艺术观念生成简史
《 缪斯的诞生 现代西方艺术观念生成简史 》

售價:NT$ 398.0
信念危机:投资者心理与金融脆弱性
《 信念危机:投资者心理与金融脆弱性 》

售價:NT$ 347.0
喵星语解密手册
《 喵星语解密手册 》

售價:NT$ 403.0

建議一齊購買:

+

NT$ 556
《大规模语言模型:从理论到实践》
+

NT$ 454
《从零开始大模型开发与微调:基于PyTorch与ChatGLM》
+

NT$ 709
《算法设计与分析基础(第3版 详解版)》
+

NT$ 398
《JavaScript多线程编程实践》
+

NT$ 624
《精通CSS 高级Web标准解决方案 第3版》
+

NT$ 458
《Python从入门到精通(第3版)》
內容簡介:
本书由Rust核心开发团队编写而成,由浅入深地探讨了Rust语言的方方面面。从学习函数、选择数据结构及绑定变量入手,逐步介绍所有权、trait、生命周期、安全保证等高级概念,模式匹配、错误处理、包管理、函数式特性、并发机制等实用工具,以及两个完整的项目开发实战案例。 作为开源的系统级编程语言,Rust可以帮助你编写出更为快速且更为可靠的软件,在给予开发者底层控制能力的同时,通过深思熟虑的工程设计避免了传统语言带来的诸多麻烦。
關於作者:
Steve?Klabnik曾是Rust的核心开发者及Rust文档团队的负责人。他时常参与各种演讲,并且是一位十分多产的开源贡献者。Carol?Nichols曾是Rust核心团队中的成员,目前是Rust Crates.io团队成员,也是Integer?32公司(全球首家专注于Rust的软件咨询公司)的联合创始人,以及Rust Belt Rust(Rust铁锈地带)会议的组织者。游戏设计师,一直专注于游戏领域研发,曾负责设计和维护了多个商业游戏的基础框架。业余时间活跃于Rust开源社区,并尝试使用Rust来解决游戏领域中的诸多问题。
目錄
1 入门指南1
安装1
在Linux或macOS环境中安装Rust2
在Windows环境中安装Rust3
常见问题3
更新与卸载4
本地文档5
Hello, world!5
创建一个文件夹5
编写并运行一个Rust程序6
Rust程序剖析7
编译与运行是两个不同的步骤8
Hello, Cargo!10
使用Cargo创建一个项目10
使用Cargo构建和运行项目13
以Release模式进行构建15
学会习惯Cargo15
总结16
2 编写一个猜数游戏17
创建一个新的项目17
处理一次猜测19
使用变量存储值20
获得用户的输入21
使用Result类型处理可能失败的情况22
通过println!中的占位符输出对应的值23
测试第一部分24
生成一个保密数字24
借助包获得更多功能25
生成一个随机数28
比较猜测数字与保密数字31
使用循环实现多次猜测35
在猜测成功时优雅地退出37
处理非法输入37
总结40
3 通用编程概念41
变量与可变性42
常量44
隐藏45
数据类型47
标量类型48
复合类型53
函数57
参数59
语句和表达式60
函数的返回值62
注释65
控制流66
if表达式66
使用循环重复执行代码70
总结77
4 认识所有权78
什么是所有权78
所有权规则81
变量作用域81
String类型82
内存与分配83
所有权与函数90
返回值与作用域91
引用与借用93
可变引用95
悬垂引用99
引用的规则101
切片类型101
字符串切片103
其他类型的切片108
总结109
5 使用结构体组织相关联的数据110
定义并实例化结构体110
使用简化版的字段初始化方法113
使用结构体更新语法,基于其他实例来创建新实例113
使用不需要对字段命名的元组结构体来创建不同的类型115
没有任何字段的单元结构体116
一个使用结构体的示例程序118
使用元组重构代码119
使用结构体重构代码:增加有意义的描述信息120
通过派生trait增加实用功能121
方法125
定义方法125
带有更多参数的方法129
关联函数130
多个impl块131
总结132
6 枚举与模式匹配133
定义枚举133
枚举值134
Option枚举及其在空值处理方面的优势139
控制流结构match143
绑定值的模式145
匹配Option<T>146
匹配必须穷举所有的可能性148
通配模式及_占位符149
简单控制流if let151
总结153
7 使用包、单元包和模块管理日渐复杂的项目154
包与单元包155
通过定义模块来控制作用域及私有性160
用于在模块树中指明条目的路径162
使用pub关键字来暴露路径165
从super关键字开始构造相对路径169
将结构体或枚举声明为公共的170
使用use关键字将路径导入作用域172
创建use路径时的惯用方式174
使用as关键字来提供新的名称175
使用pub use重导出名称176
使用外部包177
使用嵌套路径来清理众多的use语句178
通配符179
将模块拆分为不同的文件180
总结182
8 通用集合类型184
使用动态数组存储多个值185
创建动态数组185
更新动态数组186
读取动态数组中的元素186
遍历动态数组中的值189
使用枚举存储多个类型的值190
在销毁动态数组时也会销毁其中的元素191
使用字符串存储UTF-8编码的文本192
字符串是什么192
创建一个新的字符串193
更新字符串194
索引字符串197
字符串切片200
遍历字符串的方法201
字符串的确没那么简单202
在哈希映射中存储键值对202
创建一个新的哈希映射203
访问哈希映射中的值203
哈希映射与所有权205
更新哈希映射205
哈希函数208
总结208
9 错误处理210
不可恢复错误与panic!211
可恢复错误与Result215
匹配不同的错误217
传播错误221
要不要使用panic!229
示例、原型代码和测试229
当你比编译器拥有更多信息时230
错误处理指导原则230
创建自定义类型进行有效性验证232
总结235
10 泛型、trait与生命周期236
通过将代码提取为函数来减少重复工作237
泛型数据类型240
在函数定义中240
在结构体定义中243
在枚举定义中245
在方法定义中246
泛型代码的性能问题249
trait:定义共享行为250
定义trait250
为类型实现trait251
默认实现254
使用trait作为参数256
返回实现了trait的类型259
使用trait约束有条件地实现方法260
使用生命周期保证引用的有效性262
使用生命周期来避免悬垂引用262
借用检查器264
函数中的泛型生命周期265
生命周期标注语法267
函数签名中的生命周期标注267
深入理解生命周期271
结构体定义中的生命周期标注272
生命周期省略273
方法定义中的生命周期标注276
静态生命周期277
同时使用泛型参数、trait约束与生命周期278
总结279
11 编写自动化测试280
如何编写测试281
测试函数的构成281
使用assert!宏检查结果286
使用assert_eq!和assert_ne!宏判断相等性290
添加自定义的错误提示信息293
使用should_panic检查panic295
使用Result<T, E>编写测试300
控制测试的运行方式301
并行或串行地运行测试301
显示函数输出302
运行部分特定名称的测试304
通过显式指定来忽略某些测试307
测试的组织结构308
单元测试309
集成测试311
总结316
12 I/O项目:编写一个命令行程序317
接收命令行参数318
读取参数值319
将参数值存入变量中321
读取文件322
重构代码以增强模块化程度和错误处理能力324
二进制项目的关注点分离325
修正错误处理逻辑330
从main中分离逻辑334
将代码分离为独立的代码包337
使用测试驱动开发编写库功能339
编写一个会失败的测试340
编写可以通过测试的代码343
处理环境变量347
为不区分大小写的search函数编写一个会失败的测试347
实现search_case_insensitive函数349
将错误提示信息打印到标准错误流而不是标准输出流354
确认错误被写到了哪里354
将错误提示信息打印到标准错误流355
总结356
13 函数式语言特性:迭代器与闭包357
闭包:能够捕获环境的匿名函数358
使用闭包捕获环境358
闭包的类型推断和类型标注361
捕获引用或移动所有权363
将捕获的值移出闭包及Fn系列trait366
使用迭代器处理元素序列371
Iterator trait和next方法372
消耗迭代器的方法373
生成其他迭代器的方法374
使用闭包捕获环境376
改进I/O项目378
使用迭代器代替clone378
使用迭代器适配器让代码更加清晰382
在循环与迭代器之间做出选择383
比较循环和迭代器的性能383
总结386
14 进一步认识Cargo及crates.io387
使用发布配置定制构建388
将包发布到crates.io平台389
编写有用的文档注释390
使用pub use导出合适的公共API393
创建crates.io账户398
为包添加元数据398
发布到crates.io400
发布已有包的新版本401
使用cargo yank命令从crates.io上撤回版本401
Cargo工作空间402
创建工作空间402
在工作空间中创建第二个包404
使用cargo install安装二进制文件409
使用自定义命令扩展Cargo的功能410
总结411
15 智能指针412
使用Box<T>在堆上分配数据414
使用Box<T>在堆上存储数据414
使用装箱定义递归类型415
通过Deref trait将智能指针视作常规引用421
跳转到指针指向的值421
把Box<T>当成引用来操作422
定义我们自己的智能指针423
实现Deref trait424
函数和方法的隐式解引用转换426
解引用转换与可变性427
借助Drop trait在清理时运行代码428
基于引用计数的智能指针Rc<T>433
使用Rc<T>共享数据433
克隆Rc<T>会增加引用计数436
RefCell<T>和内部可变性模式438
使用RefCell<T>在运行时检查借用规则438
内部可变性:可变地借用一个不可变的值440
结合使用Rc<T>和RefCell<T>来实现拥有多重所有权的可变数据448
循环引用会造成内存泄漏450
创建循环引用450
使用Weak<T>代替Rc<T>来避免循环引用454
总结460
16 无畏并发461
使用线程同时运行代码462
使用spawn创建新线程463
使用join句柄等待所有线程结束465
在线程中使用move闭包467
使用消息传递在线程间转移数据471
通道和所有权转移474
发送多个值并观察接收者的等待过程476
通过克隆发送者创建多个生产者477
共享状态的并发479
互斥体一次只允许一个线程访问数据479
RefCell<T>/Rc<T>和Mutex<T>/Arc<T>之间的相似性486
使用Send trait和Sync trait对并发进行扩展487
允许线程间转移所有权的Send trait487
允许多个线程同时访问的Sync trait488
手动实现Send和Sync是不安全的488
总结489
17 Rust的面向对象编程特性490
面向对象语言的特性490
对象包含数据和行为491
封装实现细节491
作为类型系统和代码共享机制的继承493
使用trait对象存储不同类型的值495
为共有行为定义一个trait496
实现trait498
trait对象会执行动态

 

 

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