主页 详情

《Rust编程之道》_张汉东著_14546527_9787121354854

【书名】:《Rust编程之道》
【作者】:张汉东著
【出版社】:北京:电子工业出版社
【时间】:2019
【页数】:556
【ISBN】:9787121354854
【SS码】:14546527

最新查询

内容简介

第1章 新时代的语言

1.1缘起

1.2设计哲学

1.2.1内存安全

1.2.2零成本抽象

1.2.3实用性

1.3现状与未来

1.3.1语言架构

1.3.2开源社区

1.3.3发展前景

1.4 Rust代码如何执行

1.5小结

第2章 语言精要

2.1 Rust语言的基本构成

2.1.1语言规范

2.1.2编译器

2.1.3核心库

2.1.4标准库

2.1.5包管理器

2.2语句与表达式

2.3变量与绑定

2.3.1位置表达式和值表达式

2.3.2不可变绑定与可变绑定

2.3.3所有权与引用

2.4函数与闭包

2.4.1函数定义

2.4.2作用域与生命周期

2.4.3函数指针

2.4.5 CTFE机制

2.4.6闭包

2.5流程控制

2.5.1条件表达式

2.5.2循环表达式

2.5.3 match表达式与模式匹配

2.5.4 if let和while let表达式

2.6基本数据类型

2.6.1布尔类型

2.6.2基本数字类型

2.6.3字符类型

2.6.4数组类型

2.6.5范围类型

2.6.6切片类型

2.6.7 str字符串类型

2.6.8原生指针

2.6.9 never类型

2.7复合数据类型

2.7.1元组

2.7.2结构体

2.7.3枚举体

2.8常用集合类型

2.8.1线性序列:向量

2.8.2线性序列:双端队列

2.8.3线性序列:链表

2.8.4 Key-Value映射表:HashMap和BTreeMap

2.8.5集合:HashSet和BTreeSet

2.8.6优先队列:BinaryHeap

2.9智能指针

2.10泛型和trait

2.10.1泛型

2.10.2 trait

2.11错误处理

2.12表达式优先级

2.13注释与打印

2.14小结

第3章 类型系统

3.1通用概念

3.1.1类型系统的作用

3.1.2类型系统的分类

3.1.3类型系统与多态性

3.2 Rust类型系统概述

3.2.1类型大小

3.2.2类型推导

3.3泛型

3.3.1泛型函数

3.3.2泛型返回值自动推导

3.4深入trait

3.4.1接口抽象

3.4.2泛型约束

3.4.3抽象类型

3.4.4标签trait

3.5类型转换

3.5.1 Deref解引用

3.5.2 as操作符

3.5.3 From和Into

3.6当前trait系统的不足

3.6.1孤儿规则的局限性

3.6.2代码复用的效率不高

3.6.3抽象表达能力有待改进

3.7小结

第4章 内存管理

4.1通用概念

4.1.1栈

4.1.2堆

4.1.3内存布局

4.2 Rust中的资源管理

4.2.1变量和函数

4.2.2智能指针与RAII

4.2.3内存泄漏与内存安全

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

4.3小结

第5章 所有权系统

5.1通用概念

5.2所有权机制

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

5.3.1不可变与可变

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

5.4所有权借用

5.5生命周期参数

5.5.1显式生命周期参数

5.5.2省略生命周期参数

5.5.3生命周期限定

5.5.4 trait对象的生命周期

5.6智能指针与所有权

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

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

5.6.3写时复制Cow<T>

5.7并发安全与所有权

5.8非词法作用域生命周期

5.9小结

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

6.1函数

6.1.1函数屏蔽

6.1.2函数参数模式匹配

6.1.3函数返回值

6.1.4泛型函数

6.1.5方法与函数

6.1.6高阶函数

6.2闭包

6.2.1闭包的基本语法

6.2.2闭包的实现

6.2.3闭包与所有权

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

6.2.5高阶生命周期

6.3迭代器

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

6.3.2 Iterator trait

6.3.3 IntoIterator trait和迭代器

6.3.4迭代器适配器

6.3.5消费器

6.3.6自定义迭代器适配器

6.4小结

第7章 结构化编程

7.1面向对象风格编程

7.1.1结构体

7.1.2枚举体

7.1.3析构顺序

7.2常用设计模式

7.2.1建造者模式

7.2.2访问者模式

7.2.3 RAII模式

7.3小结

第8章 字符串与集合类型

8.1字符串

8.1.1字符编码

8.1.2字符

8.1.3字符串分类

8.1.4字符串的两种处理方式

8.1.5字符串的修改

8.1.6字符串的查找

8.1.7与其他类型相互转换

8.1.8回顾

8.2集合类型

8.2.1动态可增长数组

8.2.2映射集

8.3理解容量

8.4小结

第9章 构建健壮的程序

9.1通用概念

9.2消除失败

9.3分层处理错误

9.3.1可选值 Option<T>

9.3.2错误处理Result<T,E>

9.4恐慌(Panic)

9.5第三方库

9.6小结

第10章 模块化编程

10.1包管理

10.1.1使用Cargo创建包

10.1.2使用第三方包

10.1.3 Cargo.toml文件格式

10.1.4自定义Cargo

10.2模块系统

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

10.3.1使用Cargo创建新项目

10.3.2使用structopt解析命令行参数

10.3.3定义统一的错误类型

10.3.4读取CSV文件

10.3.5替换CSV文件中的内容

10.3.6进一步完善包

10.4可见性和私有性

10.5小结

第11章 安全并发

11.1通用概念

11.1.1多进程和多线程

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

11.1.3线程安全

11.2多线程并发编程

11.2.1线程管理

11.2.2 Send和Sync

11.2.3使用锁进行线程同步

11.2.4屏障和条件变量

11.2.5原子类型

11.2.6使用Channel进行线程间通信

11.2.7内部可变性探究

11.2.8线程池

11.2.9使用Rayon执行并行任务

11.2.10使用Crossbeam

11.3异步并发

11.3.1生成器

11.3.2 Future并发模式

11.3.3 async/await

11.4数据并行

11.4.1什么是SIMD

11.4.2在Rust中使用SIMD

11.5小结

第12章 元编程

12.1反射

12.1.1通过is函数判断类型

12.1.2转换到具体类型

12.1.3非静态生命周期类型

12.2宏系统

12.2.1起源

12.2.2 Rust中宏的种类

12.2.3编译过程

12.2.4声明宏

12.2.5过程宏

12.3编译器插件

12.4小结

第13章 超越安全的边界

13.1 Unsafe Rust介绍

13.1.1 Unsafe语法

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

13.1.3 Union联合体

13.1.4解引用原生指针

13.2基于Unsafe进行安全抽象

13.2.1原生指针

13.2.2子类型与型变

13.2.3未绑定生命周期

13.2.4 Drop检查

13.2.5 NonNull<T>指针

13.2.6 Unsafe与恐慌安全

13.2.7堆内存分配

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

13.3和其他语言交互

13.3.1外部函数接口

13.3.2与C/C++语言交互

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

13.4 Rust与WebAssembly

13.4.1 WebAssembly要点介绍

13.4.2使用Rust开发WebAssembly

13.4.3打造WebAssembly开发生态

13.5小结

附录A Rust开发环境指南

附录B Rust如何调试代码


书查询(www.shuchaxun.com)本网页唯一编码:
27f7e1e20b51b71e5c87d655f4a997c1#32e111841018923b6d596c42c9ed5c91#63771270#14546527.zip