图书介绍

Rust编程之道PDF|Epub|txt|kindle电子书版本网盘下载

Rust编程之道
  • 张汉东著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121354854
  • 出版时间:2019
  • 标注页数:556页
  • 文件大小:57MB
  • 文件页数:579页
  • 主题词:程序语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Rust编程之道PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 新时代的语言1

1.1缘起1

1.2设计哲学3

1.2.1内存安全3

1.2.2零成本抽象4

1.2.3实用性5

1.3现状与未来7

1.3.1语言架构8

1.3.2开源社区9

1.3.3发展前景9

1.4 Rust代码如何执行10

1.5小结10

第2章 语言精要11

2.1 Rust语言的基本构成11

2.1.1语言规范11

2.1.2编译器12

2.1.3核心库12

2.1.4标准库12

2.1.5包管理器13

2.2语句与表达式13

2.3变量与绑定14

2.3.1位置表达式和值表达式15

2.3.2不可变绑定与可变绑定15

2.3.3所有权与引用16

2.4函数与闭包17

2.4.1函数定义17

2.4.2作用域与生命周期18

2.4.3函数指针19

2.4.5 CTFE机制20

2.4.6闭包20

2.5流程控制22

2.5.1条件表达式22

2.5.2循环表达式23

2.5.3 match表达式与模式匹配24

2.5.4 if let和while let表达式25

2.6基本数据类型26

2.6.1布尔类型26

2.6.2基本数字类型26

2.6.3字符类型27

2.6.4数组类型28

2.6.5范围类型29

2.6.6切片类型29

2.6.7 str字符串类型30

2.6.8原生指针31

2.6.9 never类型31

2.7复合数据类型32

2.7.1元组32

2.7.2结构体33

2.7.3枚举体36

2.8常用集合类型38

2.8.1线性序列:向量38

2.8.2线性序列:双端队列39

2.8.3线性序列:链表40

2.8.4 Key-Value映射表:HashMap和BTreeMap40

2.8.5集合:HashSet和BTreeSet41

2.8.6优先队列:BinaryHeap42

2.9智能指针42

2.10泛型和trait43

2.10.1泛型43

2.10.2 trait44

2.11错误处理47

2.12表达式优先级48

2.13注释与打印48

2.14小结50

第3章 类型系统51

3.1通用概念51

3.1.1类型系统的作用51

3.1.2类型系统的分类52

3.1.3类型系统与多态性53

3.2 Rust类型系统概述53

3.2.1类型大小53

3.2.2类型推导58

3.3泛型60

3.3.1泛型函数60

3.3.2泛型返回值自动推导62

3.4深入trait62

3.4.1接口抽象63

3.4.2泛型约束69

3.4.3抽象类型71

3.4.4标签trait77

3.5类型转换83

3.5.1 Deref解引用83

3.5.2 as操作符86

3.5.3 From和Into88

3.6当前trait系统的不足89

3.6.1孤儿规则的局限性90

3.6.2代码复用的效率不高91

3.6.3抽象表达能力有待改进93

3.7小结94

第4章 内存管理95

4.1通用概念95

4.1.1栈96

4.1.2堆99

4.1.3内存布局101

4.2 Rust中的资源管理103

4.2.1变量和函数103

4.2.2智能指针与RAII106

4.2.3内存泄漏与内存安全110

4.2.4复合类型的内存分配和布局115

4.3小结117

第5章 所有权系统119

5.1通用概念120

5.2所有权机制123

5.3绑定、作用域和生命周期125

5.3.1不可变与可变126

5.3.2绑定的时间属性——生命周期127

5.4所有权借用131

5.5生命周期参数135

5.5.1显式生命周期参数136

5.5.2省略生命周期参数143

5.5.3生命周期限定145

5.5.4 trait对象的生命周期145

5.6智能指针与所有权146

5.6.1共享所有权Rc<T>和Weak<T>149

5.6.2内部可变性Cell<T>和RefCell<T>151

5.6.3写时复制Cow<T>153

5.7并发安全与所有权156

5.8非词法作用域生命周期157

5.9小结161

第6章 函数、闭包与迭代器162

6.1函数162

6.1.1函数屏蔽164

6.1.2函数参数模式匹配164

6.1.3函数返回值165

6.1.4泛型函数166

6.1.5方法与函数167

6.1.6高阶函数168

6.2闭包171

6.2.1闭包的基本语法172

6.2.2闭包的实现173

6.2.3闭包与所有权178

6.2.4闭包作为函数参数和返回值184

6.2.5高阶生命周期190

6.3迭代器194

6.3.1外部迭代器和内部迭代器194

6.3.2 Iterator trait195

6.3.3 IntoIterator trait和迭代器199

6.3.4迭代器适配器202

6.3.5消费器207

6.3.6自定义迭代器适配器211

6.4小结214

第7章 结构化编程216

7.1面向对象风格编程217

7.1.1结构体217

7.1.2枚举体225

7.1.3析构顺序230

7.2常用设计模式233

7.2.1建造者模式234

7.2.2访问者模式236

7.2.3 RAII模式239

7.3小结243

第8章 字符串与集合类型244

8.1字符串244

8.1.1字符编码244

8.1.2字符247

8.1.3字符串分类249

8.1.4字符串的两种处理方式251

8.1.5字符串的修改253

8.1.6字符串的查找256

8.1.7与其他类型相互转换265

8.1.8回顾270

8.2集合类型271

8.2.1动态可增长数组271

8.2.2映射集281

8.3理解容量289

8.4小结292

第9章 构建健壮的程序294

9.1通用概念294

9.2消除失败295

9.3分层处理错误297

9.3.1可选值 Option<T>298

9.3.2错误处理Result<T,E>302

9.4恐慌(Panic)314

9.5第三方库316

9.6小结319

第10章 模块化编程320

10.1包管理321

10.1.1使用Cargo创建包321

10.1.2使用第三方包323

10.1.3 Cargo.toml文件格式331

10.1.4自定义Cargo337

10.2模块系统339

10.3从零开始实现一个完整功能包344

10.3.1使用Cargo创建新项目345

10.3.2使用structopt解析命令行参数345

10.3.3定义统一的错误类型347

10.3.4读取CSV文件348

10.3.5替换CSV文件中的内容351

10.3.6进一步完善包353

10.4可见性和私有性358

10.5小结360

第11章 安全并发362

11.1通用概念362

11.1.1多进程和多线程363

11.1.2事件驱动、异步回调和协程364

11.1.3线程安全365

11.2多线程并发编程370

11.2.1线程管理371

11.2.2 Send和Sync375

11.2.3使用锁进行线程同步379

11.2.4屏障和条件变量384

11.2.5原子类型386

11.2.6使用Channel进行线程间通信388

11.2.7内部可变性探究397

11.2.8线程池399

11.2.9使用Rayon执行并行任务407

11.2.10使用Crossbeam409

11.3异步并发412

11.3.1生成器413

11.3.2 Future并发模式418

11.3.3 async/await421

11.4数据并行428

11.4.1什么是SIMD429

11.4.2在Rust中使用SIMD430

11.5小结434

第12章 元编程435

12.1反射436

12.1.1通过is函数判断类型436

12.1.2转换到具体类型437

12.1.3非静态生命周期类型439

12.2宏系统440

12.2.1起源440

12.2.2 Rust中宏的种类441

12.2.3编译过程442

12.2.4声明宏445

12.2.5过程宏458

12.3编译器插件472

12.4小结475

第13章 超越安全的边界477

13.1 Unsafe Rust介绍477

13.1.1 Unsafe语法478

13.1.2访问和修改可变静态变量480

13.1.3 Union联合体480

13.1.4解引用原生指针483

13.2基于Unsafe进行安全抽象484

13.2.1原生指针484

13.2.2子类型与型变489

13.2.3未绑定生命周期494

13.2.4 Drop检查495

13.2.5 NonNull<T>指针505

13.2.6 Unsafe与恐慌安全508

13.2.7堆内存分配508

13.2.8混合代码内存安全架构三大原则510

13.3和其他语言交互510

13.3.1外部函数接口510

13.3.2与C/C++语言交互514

13.3.3使用Rust提升动态语言性能528

13.4 Rust与WebAssembly532

13.4.1 WebAssembly要点介绍533

13.4.2使用Rust开发WebAssembly539

13.4.3打造WebAssembly开发生态541

13.5小结543

附录A Rust开发环境指南544

附录B Rust如何调试代码549

热门推荐