图书介绍
深入浅出Rust【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- 范长春著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111606420
- 出版时间:2018
- 标注页数:389页
- 文件大小:54MB
- 文件页数:405页
- 主题词:程序语言-程序设计
PDF下载
下载说明
深入浅出RustPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础知识2
第1章 与君初相见2
1.1 版本和发布策略2
1.2 安装开发环境4
1.3 HelloWorld7
1.4 Prelude8
1.5 Format格式详细说明8
第2章 变量和类型10
2.1 变量声明10
2.1.1 变量遮蔽12
2.1.2 类型推导13
2.1.3 类型别名14
2.1.4 静态变量15
2.1.5 常量16
2.2 基本数据类型16
2.2.1 bool16
2.2.2 char17
2.2.3 整数类型17
2.2.4 整数溢出19
2.2.5 浮点类型21
2.2.6 指针类型23
2.2.7 类型转换23
2.3 复合数据类型24
2.3.1 tuple25
2.3.2 struct25
2.3.3 tuple struct27
2.3.4 enum29
2.3.5 类型递归定义32
第3章 语句和表达式34
3.1 语句34
3.2 表达式34
3.2.1 运算表达式35
3.2.2 赋值表达式37
3.2.3 语句块表达式38
3.3 if-else39
3.3.1 loop40
3.3.2 while41
3.3.3 for循环42
第4章 函数44
4.1 简介44
4.2 发散函数46
4.3 main函数47
4.4 const fn48
4.5 函数递归调用49
第5章 trait50
5.1 成员方法50
5.2 静态方法53
5.3 扩展方法55
5.4 完整函数调用语法56
5.5 trait约束和继承58
5.6 Derive59
5.7 trait别名60
5.8 标准库中常见的trait简介61
5.8.1 Display和Debug61
5.8.2 PartialOrd/Ord/PartialEq/Eq62
5.8.3 Sized63
5.8.4 Default64
5.9 总结65
第6章 数组和字符串66
6.1 数组66
6.1.1 内置方法67
6.1.2 多维数组67
6.1.3 数组切片67
6.1.4 DST和胖指针68
6.1.5 Range70
6.1.6 边界检查72
6.2 字符串74
6.2.1 &str74
6.2.2 String75
第7章 模式解构77
7.1 简介77
7.2 match78
7.2.1 exhaustive79
7.2.2 下划线80
7.2.3 match也是表达式82
7.2.4 Guards83
7.2.5 变量绑定84
7.2.6 ref和mut85
7.3 if-1et和while-1et88
7.4 函数和闭包参数做模式解构89
7.5 总结90
第8章 深入类型系统91
8.1 代数类型系统91
8.2 Never Type94
8.3 再谈Option类型97
第9章 宏102
9.1 简介macro102
9.1.1 实现编译阶段检查102
9.1.2 实现编译期计算103
9.1.3 实现自动代码生成103
9.1.4 实现语法扩展103
9.2 示范型宏103
9.3 宏1.1105
第二部分 内存安全110
第10章 内存管理基础110
10.1 堆和栈110
10.2 段错误111
10.3 内存安全112
第11章 所有权和移动语义114
11.1 什么是所有权114
11.2 移动语义116
11.3 复制语义118
11.4 Box类型120
11.5 Clone VS.Copy121
11.5.1 Copy的含义121
11.5.2 Copy的实现条件121
11.5.3 Clone的含义122
11.5.4 自动derive123
11.5.5 总结123
11.6 析构函数124
11.6.1 资源管理125
11.6.2 主动析构126
11.6.3 DropVS.Copy129
11.6.4 析构标记129
第12章 借用和生命周期132
12.1 生命周期132
12.2 借用132
12.3 借用规则134
12.4 生命周期标记136
12.4.1 函数的生命周期标记136
12.4.2 类型的生命周期标记138
12.5 省略生命周期标记139
第13章 借用检查141
13.1 编译错误示例142
13.2 内存不安全示例:修改枚举143
13.3 内存不安全示例:迭代器失效144
13.4 内存不安全示例:悬空指针146
13.5 小结148
第14章 NLL(Non-Lexical-Lifetime)150
14.1 NLL希望解决的问题150
14.2 NLL的原理154
14.3 小结157
第15章 内部可变性158
15.1 Cell158
15.2 RefCell161
15.3 UnsafeCell164
第16章 解引用169
16.1 自定义解引用169
16.2 自动解引用171
16.3 自动解引用的用处171
16.4 有时候需要手动处理173
16.5 智能指针175
16.5.1 引用计数175
16.5.2 Cow178
16.6 小结180
第17章 泄漏181
17.1 内存泄漏181
17.2 内存泄漏属于内存安全184
17.3 析构函数泄漏185
第18章 Panic190
18.1 什么是panic190
18.2 Panic实现机制191
18.3 Panic Safety192
18.4 小结197
第19章 Unsafe198
19.1 unsafe关键字198
19.2 裸指针199
19.3 内置函数201
19.3.1 transmute201
19.3.2 内存读写202
19.3.3 综合示例204
19.4 分割借用206
19.5 协变209
19.5.1 什么是协变209
19.5.2 PhantomData211
19.6 未定义行为214
19.7 小结215
第20章 Vec源码分析216
20.1 内存申请217
20.2 内存扩容220
20.3 内存释放222
20.3.1 Vec的析构函数222
20.3.2 DropCheck223
20.4 不安全的边界226
20.5 自定义解引用227
20.6 迭代器228
20.7 panic safety231
第三部分 高级抽象234
第21章 泛型234
21.1 数据结构中的泛型234
21.2 函数中的泛型235
21.3 impl块中的泛型237
21.4 泛型参数约束237
21.5 关联类型241
21.6 何时使用关联类型244
21.7 泛型特化246
21.7.1 特化的意义247
21.7.2 default上下文关键字248
21.7.3 交叉impl250
第22章 闭包252
22.1 变量捕获254
22.2 move关键字256
22.3 Fn/FnMut/FnOnce257
22.4 闭包与泛型259
22.5 闭包与生命周期261
第23章 动态分派和静态分派264
23.1 trait object265
23.2 object safe268
23.3 impltrait271
第24章 容器与迭代器275
24.1 容器275
24.1.1 Vec275
24.1.2 VecDeque277
24.1.3 HashMap277
24.1.4 BTreeMap281
24.2 迭代器283
24.2.1 实现迭代器283
24.2.2 迭代器的组合284
24.2.3 for循环285
第25章 生成器289
25.1 简介289
25.2 对比迭代器291
25.3 对比立即求值292
25.4 生成器的原理293
25.4.1 生成器原理简介293
25.4.2 自引用类型297
25.5 协程简介298
第26章 标准库简介302
26.1 类型转换302
26.1.1 AsRef/AsMut302
26.1.2 Borrow/BorrowMut303
26.1.3 From/Into304
26.1.4 ToOwned305
26.1.5 ToString/FromStr305
26.2 运算符重载306
26.3 I/O308
26.3.1 平台相关字符串308
26.3.2 文件和路径309
26.3.3 标准输入输出310
26.3.4 进程启动参数311
26.4 Any311
第四部分 线程安全314
第27章 线程安全314
27.1 什么是线程314
27.2 启动线程316
27.3 免数据竞争317
27.4 Send&Sync320
第28章 详解Send和Sync321
28.1 什么是Send321
28.2 什么是Sync322
28.3 自动推理323
28.4 小结324
第29章 状态共享325
29.1 Arc325
29.2 Mutex326
29.3 RwLock328
29.4 Atomic329
29.5 死锁331
29.6 Barrier333
29.7 Condvar334
29.8 全局变量335
29.9 线程局部存储336
29.10 总结337
第30章 管道339
30.1 异步管道339
30.2 同步管道341
第31章 第三方并行开发库343
31.1 threadpool343
31.2 scoped-threadpool344
31.3 parking_lot345
31.4 crossbeam345
31.5 rayon346
第五部分 实用设施350
第32章 项目和模块350
32.1 cargo350
32.2 项目依赖353
32.2.1 配置355
32.2.2 workspace355
32.2.3 build.rs356
32.3 模块管理358
32.3.1 文件组织358
32.3.2 可见性360
32.3.3 use关键字362
第33章 错误处理364
33.1 基本错误处理364
33.2 组合错误类型366
33.3 问号运算符367
33.4 main函数中使用问号运算符372
33.5 新的Failure库373
第34章 FFI375
34.1 什么是FFI375
34.2 从C调用Rust库376
34.3 从Rust调用C库378
34.4 更复杂的数据类型378
第35章 文档和测试381
35.1 文档381
35.2 测试382
附录 词汇表387
热门推荐
- 3706117.html
- 1740665.html
- 864850.html
- 2475082.html
- 1597170.html
- 1348618.html
- 273529.html
- 646016.html
- 536632.html
- 1648598.html
- http://www.ickdjs.cc/book_1329639.html
- http://www.ickdjs.cc/book_1153394.html
- http://www.ickdjs.cc/book_86538.html
- http://www.ickdjs.cc/book_3577602.html
- http://www.ickdjs.cc/book_2919689.html
- http://www.ickdjs.cc/book_1334170.html
- http://www.ickdjs.cc/book_2491002.html
- http://www.ickdjs.cc/book_1376346.html
- http://www.ickdjs.cc/book_1310973.html
- http://www.ickdjs.cc/book_1860953.html