• 深入浅出Rust
21年品牌 40万+商家 超1.5亿件商品

深入浅出Rust

21.9 2.5折 89 八品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者范长春 著

出版社机械工业出版社

出版时间2018-09

版次1

装帧平装

货号e1053487398547095556

上书时间2024-12-05

转转图书专营店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八品
图书标准信息
  • 作者 范长春 著
  • 出版社 机械工业出版社
  • 出版时间 2018-09
  • 版次 1
  • ISBN 9787111606420
  • 定价 89.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 389页
【内容简介】

本书将详细描述Rust语言的基本语法,穿插讲解一部分高级使用技巧。部分介绍Rust基本语法。第二部分介绍属于Rust的内存管理方式。第三部分介绍Rust的抽象表达能力。第四部分介绍并发模型。第五部分介绍一些实用设施。

【作者简介】

范长春(F001),中国科学院自动化研究所博士,Rust开源项目贡献者,前微软员工。目前就职于synopsys公司参与源代码静态检查工具coverity软件的开发工作。喜欢研究编译器以及源代码静态检查。在网上撰写了大量关于Rust语言的技术文章,得到了不错的反响。

【目录】

Contents?目  录

 


 

前言

 


 

第一部分 基础知识

 


 

第1章 与君初相见  2

 


 

1.1 版本和发布策略  2

 


 

1.2 安装开发环境  4

 


 

1.3 Hello World  7

 


 

1.4 Prelude  8

 


 

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 bool  16

 


 

2.2.2 char  17

 


 

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 tuple  25

 


 

2.3.2 struct  25

 


 

2.3.3 tuple struct  27

 


 

2.3.4 enum  29

 


 

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-else  39

 


 

3.3.1 loop  40

 


 

3.3.2 while  41

 


 

3.3.3 for循环  42

 


 

第4章 函数  44

 


 

4.1 简介  44

 


 

4.2 发散函数  46

 


 

4.3 main函数  47

 


 

4.4 const fn  48

 


 

4.5 函数递归调用  49

 


 

第5章 trait  50

 


 

5.1 成员方法  50

 


 

5.2 静态方法  53

 


 

5.3 扩展方法  55

 


 

5.4 完整函数调用语法  56

 


 

5.5 trait约束和继承  58

 


 

5.6 Derive  59

 


 

5.7 trait别名  60

 


 

5.8 标准库中常见的trait简介  61

 


 

5.8.1 Display和Debug  61

 


 

5.8.2 PartialOrd / Ord / 

 


 

PartialEq / Eq  62

 


 

5.8.3 Sized  63

 


 

5.8.4 Default  64

 


 

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 Range  70

 


 

6.1.6 边界检查  72

 


 

6.2 字符串  74

 


 

6.2.1 &str  74

 


 

6.2.2 String  75

 


 

第7章 模式解构  77

 


 

7.1 简介  77

 


 

7.2 match  78

 


 

7.2.1 exhaustive  79

 


 

7.2.2 下划线  80

 


 

7.2.3 match也是表达式  82

 


 

7.2.4 Guards  83

 


 

7.2.5 变量绑定  84

 


 

7.2.6 ref和mut  85

 


 

7.3 if-let和while-let  88

 


 

7.4 函数和闭包参数做模式解构  89

 


 

7.5 总结  90

 


 

第8章 深入类型系统  91

 


 

8.1 代数类型系统  91

 


 

8.2 Never Type  94

 


 

8.3 再谈Option类型  97

 


 

第9章 宏  102

 


 

9.1 简介macro  102

 


 

9.1.1 实现编译阶段检查  102

 


 

9.1.2 实现编译期计算  103

 


 

9.1.3 实现自动代码生成  103

 


 

9.1.4 实现语法扩展  103

 


 

9.2 示范型宏  103

 


 

9.3 宏1.1  105

 


 

第二部分 内存安全

 


 

第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. Copy  121

 


 

11.5.1 Copy的含义  121

 


 

11.5.2 Copy 的实现条件  121

 


 

11.5.3 Clone的含义  122

 


 

11.5.4 自动derive  123

 


 

11.5.5 总结  123

 


 

11.6 析构函数  124

 


 

11.6.1 资源管理  125

 


 

11.6.2 主动析构  126

 


 

11.6.3 Drop VS. Copy  129

 


 

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 Cell  158

 


 

15.2 RefCell  161

 


 

15.3 UnsafeCell  164

 


 

第16章 解引用  169

 


 

16.1 自定义解引用  169

 


 

16.2 自动解引用  171

 


 

16.3 自动解引用的用处  171

 


 

16.4 有时候需要手动处理  173

 


 

16.5 智能指针  175

 


 

16.5.1 引用计数  175

 


 

16.5.2 Cow  178

 


 

16.6 小结  180

 


 

第17章 泄漏  181

 


 

17.1 内存泄漏  181

 


 

17.2 内存泄漏属于内存安全  184

 


 

17.3 析构函数泄漏  185

 


 

第18章 Panic  190

 


 

18.1 什么是panic  190

 


 

18.2 Panic实现机制  191

 


 

18.3 Panic Safety  192

 


 

18.4 小结  197

 


 

第19章 Unsafe  198

 


 

19.1 unsafe关键字  198

 


 

19.2 裸指针  199

 


 

19.3 内置函数  201

 


 

19.3.1 transmute  201

 


 

19.3.2 内存读写  202

 


 

19.3.3 综合示例  204

 


 

19.4 分割借用  206

 


 

19.5 协变  209

 


 

19.5.1 什么是协变  209

 


 

19.5.2 PhantomData  211

 


 

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 Drop Check  223

 


 

20.4 不安全的边界  226

 


 

20.5 自定义解引用  227

 


 

20.6 迭代器  228

 


 

20.7 panic safety  231

 


 

第三部分 高级抽象

 


 

第21章 泛型  234

 


 

21.1 数据结构中的泛型  

 

......

点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP