搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入浅出Rust
0.00     定价 ¥ 89.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购23本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111606420
  • 作      者:
    范长春
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2018-09-01
收藏
作者简介

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

展开
内容介绍

本书将详细描述Rust语言的基本语法,穿插讲解一部分高级使用技巧。部分介绍Rust基本语法。第二部分介绍属于Rust的内存管理方式。第三部分介绍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 数据结构中的泛型  

......

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证