Rust实战 从入门到精通
全新正版 极速发货
¥
53.75
5.4折
¥
99
全新
库存4件
作者(意)卡洛·米拉内西 著 卢涛,李颖 译
出版社机械工业出版社
ISBN9787111683674
出版时间2021-06
装帧平装
开本16开
定价99元
货号1202386420
上书时间2024-12-26
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
卡洛·米拉内西(Carlo Milanesi),Rust专家和专业软件开发人员。他是Rust开发社区的贡献者,也曾使用PHP、JavaScript、Java、Ionic和Vaadin框架基于Linux进行Web应用程序开发。他还涉猎了其他技术,包括GUI设计、2D和3D渲染、测试自动化、数据库访问等。他毕业于米兰大学,曾在金融和计算机辅助制造行业工作。
目录
前言
作者简介
审校者简介
第1章终端打印1
1.1如何开始1
1.2Hello,world!2
1.3打印字面量字符串的组合3
1.4打印多行文本4
1.5打印整数5
1.6命令行脚本6
1.7注释6
第2章算术运算8
2.1整数加法8
2.2整数之间的其他运算9
2.3浮点运算10
2.4语句序列11
2.5分断字面量字符串12
第3章命名对象14
3.1将名称与值相关联14
3.2可变变量16
3.3未变化的可变变量17
3.4未初始化的变量18
3.5前导下划线19
3.6布尔值20
3.7布尔表达式22
3.8赋值中的类型一致性23
3.9类型和可变性的改变24
3.10赋值算术运算符25
3.11使用标准库的函数25
第4章控制执行流27
4.1条件语句(if)27
4.2条件表达式29
4.3条件循环(while)30
4.4无限循环(loop)32
4.5计数循环(for)33
4.6变量作用域34
第5章使用数据序列37
5.1数组37
5.1.1可变数组39
5.1.2指定大小的数组40
5.1.3多维数组41
5.2向量42
5.3空数组和空向量45
5.4调试打印46
5.5复制数组和向量47
第6章使用基本类型48
6.1非十进制数字基数48
6.2数字字面量中的下划线50
6.3指数表示法50
6.4各种有符号整数51
6.5无符号整数类型53
6.6目标相关的整数类型54
6.7类型推断55
6.8浮点数值类型57
6.9显式转换58
6.10数字字面量的类型后缀59
6.11所有数值类型60
6.12布尔值和字符61
6.13空元组62
6.14数组和向量类型63
6.15常数64
6.16发现表达式的类型64
第7章枚举情况66
7.1枚举66
7.2match构造68
7.3关系运算符和枚举69
7.4处理所有情况70
7.4.1对数字使用match71
7.4.2数据枚举72
7.4.3“match”表达式74
7.4.4在match结构中使用守卫75
第8章使用异构数据结构76
8.1元组76
8.2结构77
8.3元组结构80
8.4词法约定80
第9章定义函数82
9.1定义和调用函数82
9.1.1使用后定义的函数83
9.1.2函数屏蔽其他函数83
9.1.3将参数传递给函数85
9.1.4按值传递参数86
9.2从函数返回值86
9.2.1提前退出87
9.2.2返回多个值89
9.3如何更改属于调用者的变量90
9.4通过引用传递参数91
9.4.1使用引用92
9.4.2引用的可变性93
第10章定义泛型函数和结构95
10.1对泛型函数的需求95
10.2定义和使用泛型函数96
10.3推断参数类型97
10.4定义和使用泛型结构98
10.4.1泛型机制99
10.4.2泛型数组和向量101
10.4.3泛型枚举101
10.5错误处理103
10.6枚举标准实用程序函数104
第11章分配内存106
11.1各种分配106
11.1.1线性寻址107
11.1.2静态分配108
11.1.3栈分配109
11.1.4堆分配114
11.2与C和C++的相似性117
11.3装箱与拆箱117
11.4寄存器分配119
第12章数据实现120
12.1探索对象的大小120
12.1.1use指令121
12.1.2基本类型的大小122
12.2基本类型的表示122
12.3字节在内存中的位置123
12.4复合数据类型的大小125
12.5向量分配125
第13章定义闭包128
13.1对“一次性”函数的需求128
13.2捕获环境129
13.3闭包130
13.4其他例子132
第14章使用可变字符串134
14.1静态字符串134
14.2动态字符串136
14.3字符串的实现137
14.4创建字符串139
14.5连接字符串140
第15章范围和切片142
15.1范围142
15.2将序列传递给函数144
15.3切片145
15.4切片操作147
15.5超出范围的切片149
15.6可变切片149
15.7开放式范围和切片操作150
第16章使用迭代器152
16.1字符串字符152
16.2扫描字符串153
16.3在for循环中使用迭代器155
16.3.1不可变的迭代157
16.3.2可变的迭代158
16.4迭代器适配器:filter161
16.4.1map迭代器适配器162
16.4.2enumerate迭代器适配器163
16.5迭代器消费者:any164
16.5.1all迭代器消费者166
16.5.2count迭代器消费者166
16.5.3sum迭代器消费者166
16.5.4min和max迭代器消费者167
16.5.5collect消费者168
16.6迭代器链169
16.7迭代器是“惰性的”170
第17章输入/输出和错误处理方式172
17.1命令行参数172
17.2进程返回码173
17.3环境变量173
17.4从控制台读取174
17.5正确的运行时错误处理176
17.6写入控制台179
17.7将值转换为字符串179
17.8文件输入/输出180
17.9处理文本文件182
第18章使用trait184
18.1对trait的需求184
18.2trait的补救186
18.3没有trait界限的泛型函数188
18.4trait作用域189
18.5多函数trait190
18.6方法192
18.7"self"和"Self"关键字194
18.8标准trait196
18.8.1"Iterator" trait197
18.8.2"type"关键字199
18.8.3泛型trait200
18.8.4使用关联类型简化泛型trait使用203
18.8.5"Iterator"标准trait声明206
18.9使用泛型迭代器208
第19章面向对象程序设计210
19.1固有实现210
19.2Rust面向对象的特殊性213
19.3可变方法216
19.4构造函数217
19.5组合而不是继承218
19.6组合的内存使用情况220
19.6.1静态分发221
19.6.2动态分发223
19.6.3trait引用的实现224
19.6.4静态分发与动态分发226
第20章标准库集合228
20.1集合228
20.2测量执行时间229
20.3执行任意插入和移除230
20.4队列231
20.5链表234
20.6二叉堆235
20.7有序集和无序集236
20.8有序字典和无序字典239
20.9C++和Rust中的集合240
第21章丢弃、移动和复制241
21.1确定性析构241
21.2所有权243
21.3析构函数244
21.4赋值语义248
21.4.1复制与移动性能对比250
21.4.2移动和销毁对象252
21.4.3对复制语义的需要254
21.4.4克隆对象255
21.4.5使类型可克隆或可复制257
第22章借用和生命周期259
22.1所有权和借用259
22.2对象生命周期260
22.3关于借用的错误262
22.3.1如何防止“丢弃后使用”错误264
22.3.2如何防止“别名更改后使用”错误265
22.4多重借用的可能情况266
22.5使用块来限制借用作用域268
22.6返回引用对生命周期说明符的需求269
22.6.1生命周期说明符的用法和意义271
22.6.2检查生命周期说明符的有效性273
22.6.3使用调用函数的生命周期说明符276
第23章关于生命周期的更多信息279
23.1生命周期省略279
23.2面向对象编程的生命周期省略280
23.3结构对生命周期说明符的需要281
23.4可能的结构生命周期说明符283
23.5生命周期说明符的其他用途285
内容摘要
本书可帮助读者学会在Unix、Linux shell、MacOS和Windows命令行上以轻松、循序渐进的方式使用Rust进行编程,引导读者全面了解Rust提供的功能。
本书从Rust的基础开始讲解,包括如何命名对象、控制执行流和处理基本类型。你将了解如何进行算术运算、分配内存、使用选代器以及处理输入/输出。掌握了这些核心技能后,你将很快就能用Rust处理错误并使用Rust的面向对象特性构建强大的Rust应用程序。
本书对初学者非常友好,只需了解基本的编程知识——最好是有C或C++的基础知识,就可以完成本书的学习。而且,要充分理解本书,只需知道什么是整数和浮点数,以及能够区分标识符和字符串就可以了。
— 没有更多了 —
以下为对购买帮助不大的评价