0 0 0

深入浅出Rust

给了不该给的柔情
9天前 200
我用夸克网盘分享了「深入浅出Rust by 范长春.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
深入浅出Rust 作者: 范长春 出版社: 机械工业出版社 出版年: 2018-8-21 页数: 403 定价: 89.00元 装帧: 平装 ISBN: 9787111606420

内容简介

本书详细描述了Rust语言的基本语法,穿插讲解一部分高级使用技巧,并以更容易理解的方式解释其背后的设计思想。 全书总共分五个部分。第一部分介绍Rust基本语法,因为对任何程序设计语言来说,语法都是基础,学习这部分是理解其他部分的前提。第二部分介绍属于Rust独一无二的内存管理方式。它设计了一组全新的机制,既保证了安全性,又保持了强大的内存布局控制力,而且没有额外性能损失。这部分是本书的重点和核心所在,也是Rust语言的思想内核精髓之处。第三部分介绍Rust的抽象表达能力。它支持多种编程范式,以及较为强大的抽象表达能力。第四部分介绍并发模型。在目前这个阶段,对并行编程的支持是新一代编程语言不可绕过的重要话题。Rust也吸收了业界最新的发展成果,对并发有良好支持。第五部分介绍一些实用设施。 Rust语言有许多创新,但它绝不是高高在上孤芳自赏的类型,设计者在设计过程中充分考虑了语言的工程实用性。众多在其他语言中被证明过的优秀实践被吸收了进来,有利于提升实际工作效率。通过此书,读者能够深入透彻地理解Rust的高阶特性,比如代数类型系统、生命周期、借用检查、内部可变性、线程安全、泛型、闭包、迭代器、生成器等。

作者简介

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

网友热评

贾里: 20181012第一遍。这本书不算深,比较适合初学者,当然不是没有编程经验的初学者,而是那些被C/C++搞得头秃的码农童鞋们。Rust的定位是系统级编程,对于业务开发的童鞋帮助不大,你写业务还是用别的算了。 看得出来,Rust离成熟还远,优势在于比C/C++这样的语言历史包袱小,所以可以无所顾忌地演进,比如引入了很多近年来得到实践证明的新特性,又不至于写很多繁琐的代码。缺点在于还是太年轻,很多我期待的功能没有稳定下来成为标准库,比如协程。生命周期设计得很复杂,是最难理解的部分,感觉这个是未来最大的隐患之一。另外,Rust只是保证内存安全,像内存泄漏之类的问题还是没有办法很好地解决。 看的是kindle电子版,代码块的缩进有问题,其他没有什么大猫病。 Jan: 章节组织对非常适合有一定编程经验的程序员,对rust的设计理念和选择解释的很清楚,读起来酣畅淋漓。不仅仅写了rust的现状,也包含了社区中还在讨论的话题。非常好的书,学习Rust必读。 流浪的龙: 学rust不用读书,官方的book和reference不香吗,Reddit和Stack Overflow的老哥又热情说话又好听,rust doc 特别好用,导致所有社区上有名有姓的library,文档都很清晰 orcl_zhang: 已经用了Rust快两年了,多数内容在Rust官方书和文档里都有,其余部分在RFC也有。现在Rust语言发展挺快的,紧跟社区论坛还有官方一些讨论,能读到不少东西。这本书,看的出来还是挺用心的,随便翻翻还是挺不错,有些内容也是在学Rust的时候被漏掉了。

图书目录

前言 第一部分基础知识 第1章与君初相见 1.1版本和发布策略 1.2安装开发环境 1.3HelloWorld 1.4Prelude 1.5Format格式详细说明 第2章变量和类型 2.1变量声明 2.2基本数据类型 2.3复合数据类型 第3章语句和表达式 3.1语句 3.2表达式 3.3if-else 第4章函数 4.1简介 4.2发散函数 4.3main函数 4.4constfn 4.5函数递归调用 第5章trait 5.1成员方法 5.2静态方法 5.3扩展方法 5.4完整函数调用语法 5.5trait约束和继承 5.6Derive 5.7trait别名 5.8标准库中常见的trait简介 5.9总结 第6章数组和字符串 6.1数组 6.2字符串 第7章模式解构 7.1简介 7.2match 7.3if-let和while-let 7.4函数和闭包参数做模式解构 7.5总结 第8章深入类型系统 8.1代数类型系统 8.2NeverType 8.3再谈Option类型 第9章宏 9.1简介macro 9.2示范型宏 9.3宏1.1 第二部分内存安全 第10章内存管理基础 10.1堆和栈 10.2段错误 10.3内存安全 第11章所有权和移动语义 11.1什么是所有权 11.2移动语义 11.3复制语义 11.4Box类型 11.5CloneVS.Copy 11.6析构函数 第12章借用和生命周期 12.1生命周期 12.2借用 12.3借用规则 12.4生命周期标记 12.5省略生命周期标记 第13章借用检查 13.1编译错误示例 13.2内存不安全示例:修改枚举 13.3内存不安全示例:迭代器失效 13.4内存不安全示例:悬空指针 13.5小结 第14章NLL(Non-Lexical-Lifetime) 14.1NLL希望解决的问题 14.2NLL的原理 14.3小结 第15章内部可变性 15.1Cell 15.2RefCell 15.3UnsafeCell 第16章解引用 16.1自定义解引用 16.2自动解引用 16.3自动解引用的用处 16.4有时候需要手动处理 16.5智能指针 16.6小结 第17章泄漏 17.1内存泄漏 17.2内存泄漏属于内存安全 17.3析构函数泄漏 第18章Panic 18.1什么是panic 18.2Panic实现机制 18.3PanicSafety 18.4小结 第19章Unsafe 19.1unsafe关键字 19.2裸指针 19.3内置函数 19.4分割借用 19.5协变 19.6未定义行为 19.7小结 第20章Vec源码分析 20.1内存申请 20.2内存扩容 20.3内存释放 20.4不安全的边界 20.5自定义解引用 20.6迭代器 20.7panicsafety 第三部分高级抽象 第21章泛型 21.1数据结构中的泛型 21.2函数中的泛型 21.3impl块中的泛型 21.4泛型参数约束 21.5关联类型 21.6何时使用关联类型 21.7泛型特化 第22章闭包 22.1变量捕获 22.2move关键字 22.3Fn/FnMut/FnOnce 22.4闭包与泛型 22.5闭包与生命周期 第23章动态分派和静态分派 23.1traitobject 23.2objectsafe 23.3impltrait 第24章容器与迭代器 24.1容器 24.2迭代器 第25章生成器 25.1简介 25.2对比迭代器 25.3对比立即求值 25.4生成器的原理 25.5协程简介 第26章标准库简介 26.1类型转换 26.2运算符重载 26.3I/O 26.4Any 第四部分线程安全 第27章线程安全 27.1什么是线程 27.2启动线程 27.3免数据竞争 27.4Send&Sync 第28章详解Send和Sync 28.1什么是Send 28.2什么是Sync 28.3自动推理 28.4小结 第29章状态共享 29.1Arc 29.2Mutex 29.3RwLock 29.4Atomic 29.5死锁 29.6Barrier 29.7Condvar 29.8全局变量 29.9线程局部存储 29.10总结 第30章管道 30.1异步管道 30.2同步管道 第31章第三方并行开发库 31.1threadpool 31.2scoped-threadpool 31.3parking_lot 31.4crossbeam 31.5rayon 第五部分实用设施 第32章项目和模块 32.1cargo 32.2项目依赖 32.3模块管理 第33章错误处理 33.1基本错误处理 33.2组合错误类型 33.3问号运算符 33.4main函数中使用问号运算符 33.5新的Failure库 第34章FFI 34.1什么是FFI 34.2从C调用Rust库 34.3从Rust调用C库 34.4更复杂的数据类型 第35章文档和测试 35.1文档 35.2测试 附录词汇表

深入浅出Rust"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • diana(黛安娜)
  • 别把不配说成失陪
  • 悄悄来到
  • 去tmd爱情
  • 不必流浪
  • 你算個屁搶我男人
  • 刺我爱情
  • 跟姐走放飞你的梦想
  • 心头的小情儿
  • 路过四月桃林
  • 月影漫步
  • 胸怀大志
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!