Rust编程之道【文字版】 🔍
张汉东著 北京:电子工业出版社, Di 1 ban, 北京 Beijing, 2019
中文 [zh] · PDF · 42.2MB · 2019 · 📘 非小说类图书 · 🚀/duxiu/lgli/zlib · Save
描述
Rust是一门利用现代化的类型系统,有机地融合了内存管理,所有权语义和混合编程范式的编程语言.它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全.同时,还有能与c/c 语言媲美的性能,以及能和动态语言媲美的开发效率.本书并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了rust语言.从设计哲学出发,探索rust语言的内在一致性;从源码分析入手,探索rust 地道的编程风格;从工程角度着手,探索rust对健壮性的支持;从底层原理开始,探索rust内存安全的本质.
备用文件名
zlib/Computers/Programming/张汉东/Rust编程之道【文字版】_17087438.pdf
备选标题
Rust programming(Chinese Edition)
备选标题
Rust编程之道 Rust bian cheng zhi dao
备选标题
Rust 编程之道
备选作者
ZHANG HAN DONG ZHU
备选作者
张汉东 (程序设计)
备用出版商
Publishing House of Electronics Industry
备用出版商
电子工业出版社 Dian zi gong ye chu ban she
备用出版商
Electronic Industry Press
备用版本
China, People's Republic, China
备用版本
2018
元数据中的注释
lg2528504
元数据中的注释
Bookmarks: p1 (p1): 第1章 新时代的语言
p1-1 (p1): 1.1缘起
p1-2 (p3): 1.2设计哲学
p1-2-1 (p3): 1.2.1内存安全
p1-2-2 (p4): 1.2.2零成本抽象
p1-2-3 (p5): 1.2.3实用性
p1-3 (p7): 1.3现状与未来
p1-3-1 (p8): 1.3.1语言架构
p1-3-2 (p9): 1.3.2开源社区
p1-3-3 (p9): 1.3.3发展前景
p1-4 (p10): 1.4 Rust代码如何执行
p1-5 (p10): 1.5小结
p2 (p11): 第2章 语言精要
p2-1 (p11): 2.1 Rust语言的基本构成
p2-1-1 (p11): 2.1.1语言规范
p2-1-2 (p12): 2.1.2编译器
p2-1-3 (p12): 2.1.3核心库
p2-1-4 (p12): 2.1.4标准库
p2-1-5 (p13): 2.1.5包管理器
p2-2 (p13): 2.2语句与表达式
p2-3 (p14): 2.3变量与绑定
p2-3-1 (p15): 2.3.1位置表达式和值表达式
p2-3-2 (p15): 2.3.2不可变绑定与可变绑定
p2-3-3 (p16): 2.3.3所有权与引用
p2-4 (p17): 2.4函数与闭包
p2-4-1 (p17): 2.4.1函数定义
p2-4-2 (p18): 2.4.2作用域与生命周期
p2-4-3 (p19): 2.4.3函数指针
p2-4-4 (p20): 2.4.5 CTFE机制
p2-4-5 (p20): 2.4.6闭包
p2-5 (p22): 2.5流程控制
p2-5-1 (p22): 2.5.1条件表达式
p2-5-2 (p23): 2.5.2循环表达式
p2-5-3 (p24): 2.5.3 match表达式与模式匹配
p2-5-4 (p25): 2.5.4 if let和while let表达式
p2-6 (p26): 2.6基本数据类型
p2-6-1 (p26): 2.6.1布尔类型
p2-6-2 (p26): 2.6.2基本数字类型
p2-6-3 (p27): 2.6.3字符类型
p2-6-4 (p28): 2.6.4数组类型
p2-6-5 (p29): 2.6.5范围类型
p2-6-6 (p29): 2.6.6切片类型
p2-6-7 (p30): 2.6.7 str字符串类型
p2-6-8 (p31): 2.6.8原生指针
p2-6-9 (p31): 2.6.9 never类型
p2-7 (p32): 2.7复合数据类型
p2-7-1 (p32): 2.7.1元组
p2-7-2 (p33): 2.7.2结构体
p2-7-3 (p36): 2.7.3枚举体
p2-8 (p38): 2.8常用集合类型
p2-8-1 (p38): 2.8.1线性序列:向量
p2-8-2 (p39): 2.8.2线性序列:双端队列
p2-8-3 (p40): 2.8.3线性序列:链表
p2-8-4 (p40): 2.8.4 Key-Value映射表:HashMap和BTreeMap
p2-8-5 (p41): 2.8.5集合:HashSet和BTreeSet
p2-8-6 (p42): 2.8.6优先队列:BinaryHeap
p2-9 (p42): 2.9智能指针
p2-10 (p43): 2.10泛型和trait
p2-10-1 (p43): 2.10.1泛型
p2-10-2 (p44): 2.10.2 trait
p2-11 (p47): 2.11错误处理
p2-12 (p48): 2.12表达式优先级
p2-13 (p48): 2.13注释与打印
p2-14 (p50): 2.14小结
p3 (p51): 第3章 类型系统
p3-1 (p51): 3.1通用概念
p3-1-1 (p51): 3.1.1类型系统的作用
p3-1-2 (p52): 3.1.2类型系统的分类
p3-1-3 (p53): 3.1.3类型系统与多态性
p3-2 (p53): 3.2 Rust类型系统概述
p3-2-1 (p53): 3.2.1类型大小
p3-2-2 (p58): 3.2.2类型推导
p3-3 (p60): 3.3泛型
p3-3-1 (p60): 3.3.1泛型函数
p3-3-2 (p62): 3.3.2泛型返回值自动推导
p3-4 (p62): 3.4深入trait
p3-4-1 (p63): 3.4.1接口抽象
p3-4-2 (p69): 3.4.2泛型约束
p3-4-3 (p71): 3.4.3抽象类型
p3-4-4 (p77): 3.4.4标签trait
p3-5 (p83): 3.5类型转换
p3-5-1 (p83): 3.5.1 Deref解引用
p3-5-2 (p86): 3.5.2 as操作符
p3-5-3 (p88): 3.5.3 From和Into
p3-6 (p89): 3.6当前trait系统的不足
p3-6-1 (p90): 3.6.1孤儿规则的局限性
p3-6-2 (p91): 3.6.2代码复用的效率不高
p3-6-3 (p93): 3.6.3抽象表达能力有待改进
p3-7 (p94): 3.7小结
p4 (p95): 第4章 内存管理
p4-1 (p95): 4.1通用概念
p4-1-1 (p96): 4.1.1栈
p4-1-2 (p99): 4.1.2堆
p4-1-3 (p101): 4.1.3内存布局
p4-2 (p103): 4.2 Rust中的资源管理
p4-2-1 (p103): 4.2.1变量和函数
p4-2-2 (p106): 4.2.2智能指针与RAII
p4-2-3 (p110): 4.2.3内存泄漏与内存安全
p4-2-4 (p115): 4.2.4复合类型的内存分配和布局
p4-3 (p117): 4.3小结
p5 (p119): 第5章 所有权系统
p5-1 (p120): 5.1通用概念
p5-2 (p123): 5.2所有权机制
p5-3 (p125): 5.3绑定、作用域和生命周期
p5-3-1 (p126): 5.3.1不可变与可变
p5-3-2 (p127): 5.3.2绑定的时间属性——生命周期
p5-4 (p131): 5.4所有权借用
p5-5 (p135): 5.5生命周期参数
p5-5-1 (p136): 5.5.1显式生命周期参数
p5-5-2 (p143): 5.5.2省略生命周期参数
p5-5-3 (p145): 5.5.3生命周期限定
p5-5-4 (p145): 5.5.4 trait对象的生命周期
p5-6 (p146): 5.6智能指针与所有权
p5-6-1 (p149): 5.6.1共享所有权Rc<T>和Weak<T>
p5-6-2 (p151): 5.6.2内部可变性Cell<T>和RefCell<T>
p5-6-3 (p153): 5.6.3写时复制Cow<T>
p5-7 (p156): 5.7并发安全与所有权
p5-8 (p157): 5.8非词法作用域生命周期
p5-9 (p161): 5.9小结
p6 (p162): 第6章 函数、闭包与迭代器
p6-1 (p162): 6.1函数
p6-1-1 (p164): 6.1.1函数屏蔽
p6-1-2 (p164): 6.1.2函数参数模式匹配
p6-1-3 (p165): 6.1.3函数返回值
p6-1-4 (p166): 6.1.4泛型函数
p6-1-5 (p167): 6.1.5方法与函数
p6-1-6 (p168): 6.1.6高阶函数
p6-2 (p171): 6.2闭包
p6-2-1 (p172): 6.2.1闭包的基本语法
p6-2-2 (p173): 6.2.2闭包的实现
p6-2-3 (p178): 6.2.3闭包与所有权
p6-2-4 (p184): 6.2.4闭包作为函数参数和返回值
p6-2-5 (p190): 6.2.5高阶生命周期
p6-3 (p194): 6.3迭代器
p6-3-1 (p194): 6.3.1外部迭代器和内部迭代器
p6-3-2 (p195): 6.3.2 Iterator trait
p6-3-3 (p199): 6.3.3 IntoIterator trait和迭代器
p6-3-4 (p202): 6.3.4迭代器适配器
p6-3-5 (p207): 6.3.5消费器
p6-3-6 (p211): 6.3.6自定义迭代器适配器
p6-4 (p214): 6.4小结
p7 (p216): 第7章 结构化编程
p7-1 (p217): 7.1面向对象风格编程
p7-1-1 (p217): 7.1.1结构体
p7-1-2 (p225): 7.1.2枚举体
p7-1-3 (p230): 7.1.3析构顺序
p7-2 (p233): 7.2常用设计模式
p7-2-1 (p234): 7.2.1建造者模式
p7-2-2 (p236): 7.2.2访问者模式
p7-2-3 (p239): 7.2.3 RAII模式
p7-3 (p243): 7.3小结
p8 (p244): 第8章 字符串与集合类型
p8-1 (p244): 8.1字符串
p8-1-1 (p244): 8.1.1字符编码
p8-1-2 (p247): 8.1.2字符
p8-1-3 (p249): 8.1.3字符串分类
p8-1-4 (p251): 8.1.4字符串的两种处理方式
p8-1-5 (p253): 8.1.5字符串的修改
p8-1-6 (p256): 8.1.6字符串的查找
p8-1-7 (p265): 8.1.7与其他类型相互转换
p8-1-8 (p270): 8.1.8回顾
p8-2 (p271): 8.2集合类型
p8-2-1 (p271): 8.2.1动态可增长数组
p8-2-2 (p281): 8.2.2映射集
p8-3 (p289): 8.3理解容量
p8-4 (p292): 8.4小结
p9 (p294): 第9章 构建健壮的程序
p9-1 (p294): 9.1通用概念
p9-2 (p295): 9.2消除失败
p9-3 (p297): 9.3分层处理错误
p9-3-1 (p298): 9.3.1可选值 Option<T>
p9-3-2 (p302): 9.3.2错误处理Result<T,E>
p9-4 (p314): 9.4恐慌(Panic)
p9-5 (p316): 9.5第三方库
p9-6 (p319): 9.6小结
p10 (p320): 第10章 模块化编程
p10-1 (p321): 10.1包管理
p10-1-1 (p321): 10.1.1使用Cargo创建包
p10-1-2 (p323): 10.1.2使用第三方包
p10-1-3 (p331): 10.1.3 Cargo.toml文件格式
p10-1-4 (p337): 10.1.4自定义Cargo
p10-2 (p339): 10.2模块系统
p10-3 (p344): 10.3从零开始实现一个完整功能包
p10-3-1 (p345): 10.3.1使用Cargo创建新项目
p10-3-2 (p345): 10.3.2使用structopt解析命令行参数
p10-3-3 (p347): 10.3.3定义统一的错误类型
p10-3-4 (p348): 10.3.4读取CSV文件
p10-3-5 (p351): 10.3.5替换CSV文件中的内容
p10-3-6 (p353): 10.3.6进一步完善包
p10-4 (p358): 10.4可见性和私有性
p10-5 (p360): 10.5小结
p11 (p362): 第11章 安全并发
p11-1 (p362): 11.1通用概念
p11-1-1 (p363): 11.1.1多进程和多线程
p11-1-2 (p364): 11.1.2事件驱动、异步回调和协程
p11-1-3 (p365): 11.1.3线程安全
p11-2 (p370): 11.2多线程并发编程
p11-2-1 (p371): 11.2.1线程管理
p11-2-2 (p375): 11.2.2 Send和Sync
p11-2-3 (p379): 11.2.3使用锁进行线程同步
p11-2-4 (p384): 11.2.4屏障和条件变量
p11-2-5 (p386): 11.2.5原子类型
p11-2-6 (p388): 11.2.6使用Channel进行线程间通信
p11-2-7 (p397): 11.2.7内部可变性探究
p11-2-8 (p399): 11.2.8线程池
p11-2-9 (p407): 11.2.9使用Rayon执行并行任务
p11-2-10 (p409): 11.2.10使用Crossbeam
p11-3 (p412): 11.3异步并发
p11-3-1 (p413): 11.3.1生成器
p11-3-2 (p418): 11.3.2 Future并发模式
p11-3-3 (p421): 11.3.3 async/await
p11-4 (p428): 11.4数据并行
p11-4-1 (p429): 11.4.1什么是SIMD
p11-4-2 (p430): 11.4.2在Rust中使用SIMD
p11-5 (p434): 11.5小结
p12 (p435): 第12章 元编程
p12-1 (p436): 12.1反射
p12-1-1 (p436): 12.1.1通过is函数判断类型
p12-1-2 (p437): 12.1.2转换到具体类型
p12-1-3 (p439): 12.1.3非静态生命周期类型
p12-2 (p440): 12.2宏系统
p12-2-1 (p440): 12.2.1起源
p12-2-2 (p441): 12.2.2 Rust中宏的种类
p12-2-3 (p442): 12.2.3编译过程
p12-2-4 (p445): 12.2.4声明宏
p12-2-5 (p458): 12.2.5过程宏
p12-3 (p472): 12.3编译器插件
p12-4 (p475): 12.4小结
p13 (p477): 第13章 超越安全的边界
p13-1 (p477): 13.1 Unsafe Rust介绍
p13-1-1 (p478): 13.1.1 Unsafe语法
p13-1-2 (p480): 13.1.2访问和修改可变静态变量
p13-1-3 (p480): 13.1.3 Union联合体
p13-1-4 (p483): 13.1.4解引用原生指针
p13-2 (p484): 13.2基于Unsafe进行安全抽象
p13-2-1 (p484): 13.2.1原生指针
p13-2-2 (p489): 13.2.2子类型与型变
p13-2-3 (p494): 13.2.3未绑定生命周期
p13-2-4 (p495): 13.2.4 Drop检查
p13-2-5 (p505): 13.2.5 NonNull<T>指针
p13-2-6 (p508): 13.2.6 Unsafe与恐慌安全
p13-2-7 (p508): 13.2.7堆内存分配
p13-2-8 (p510): 13.2.8混合代码内存安全架构三大原则
p13-3 (p510): 13.3和其他语言交互
p13-3-1 (p510): 13.3.1外部函数接口
p13-3-2 (p514): 13.3.2与C/C++语言交互
p13-3-3 (p528): 13.3.3使用Rust提升动态语言性能
p13-4 (p532): 13.4 Rust与WebAssembly
p13-4-1 (p533): 13.4.1 WebAssembly要点介绍
p13-4-2 (p539): 13.4.2使用Rust开发WebAssembly
p13-4-3 (p541): 13.4.3打造WebAssembly开发生态
p13-5 (p543): 13.5小结
p14 (p544): 附录A Rust开发环境指南
p15 (p549): 附录B Rust如何调试代码
开源日期
2021-08-25
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:Motrix
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。