Rust编程之道

Rust编程之道
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2019-01
版次: 1
ISBN: 9787121354854
定价: 128.00
装帧: 平装
开本: 16
纸张: 胶版纸
页数: 580页
164人买过
  • Rust 是一门利用现代化的类型系统,有机地融合了内存管理、所有权语义和混合编程范式的编程语言。它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全。同时,还有能与C/C++语言媲美的性能,以及能和动态语言媲美的开发效率。 
    《Rust编程之道》并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust 语言。从设计哲学出发,探索Rust 语言的内在一致性;从源码分析入手,探索Rust 地道的编程风格;从工程角度着手,探索Rust 对健壮性的支持;从底层原理开始,探索Rust 内存安全的本质。 
    《Rust编程之道》涵盖了Rust 2018 的特性,适合有一定编程经验且想要学习Rust 的初学者,以及对Rust 有一定的了解,想要继续深入学习的进阶者。 张汉东,80后,资深软件工程师、企业独立咨询师、技术作者译者。爱好读书、写作,喜欢研究技术、学习之道,以及心智和认知开发模式。曾在互联网行业沉浮十余载,先后效力于电商、社交游戏、广告和众筹领域。作为企业独立咨询师,先后为思科、平安科技和闪迪等公司提供咨询服务。目前在心智教育及创客领域开疆拓土。是《Ruby原理剖析》一书的译者。喜欢Rust语言,为Rust语言提交了三次编译器Bug,并协助修复其中之一。为官方Rust 2018 Guide做过贡献,并数次提出改进意见。参与了国内Rust社区的管理和运营,在2018年打造了《Rust每日新闻》频道,深受Rustacean们的喜爱。为初学者精心打造了Rust必学第一课:知乎Live《如何系统地学习Rust语言》,获得五星好评。 第1 章 新时代的语言  1 
    1.1 缘起  1 
    1.2 设计哲学  3 
    1.2.1 内存安全  3 
    1.2.2 零成本抽象  4 
    1.2.3 实用性  5 
    1.3 现状与未来  7 
    1.3.1 语言架构  8 
    1.3.2 开源社区  9 
    1.3.3 发展前景  9 
    1.4 Rust 代码如何执行  10 
    1.5 小结  10 
    第2 章 语言精要  11 
    2.1 Rust 语言的基本构成  11 
    2.1.1 语言规范  11 
    2.1.2 编译器  12 
    2.1.3 核心库  12 
    2.1.4 标准库  12 
    2.1.5 包管理器  13 
    2.2 语句与表达式  13 
    2.3 变量与绑定  14 
    2.3.1 位置表达式和值表达式  15 
    2.3.2 不可变绑定与可变绑定  15 
    2.3.3 所有权与引用  16 
    2.4 函数与闭包  17 
    2.4.1 函数定义  17 
    2.4.2 作用域与生命周期  18 
    2.4.3 函数指针  19 
    2.4.5 CTFE 机制  20 
    2.4.6 闭包  20 
    2.5 流程控制  22 
    2.5.1 条件表达式  22 
    2.5.2 循环表达式  23 
    2.5.3 match 表达式与模式匹配  24 
    2.5.4 if let 和while let 表达式  25 
    2.6 基本数据类型  26 
    2.6.1 布尔类型  26 
    2.6.2 基本数字类型  26 
    2.6.3 字符类型  27 
    2.6.4 数组类型  28 
    2.6.5 范围类型  29 
    2.6.6 切片类型  29 
    2.6.7 str 字符串类型  30 
    2.6.8 原生指针  31 
    2.6.9 never 类型  31 
    2.7 复合数据类型  32 
    2.7.1 元组  32 
    2.7.2 结构体  33 
    2.7.3 枚举体  36 
    2.8 常用集合类型  38 
    2.8.1 线性序列:向量  38 
    2.8.2 线性序列:双端队列  39 
    2.8.3 线性序列:链表  40 
    2.8.4 Key-Value 映射表:HashMap 和BTreeMap  40 
    2.8.5 集合:HashSet 和BTreeSet  41 
    2.8.6 优先队列:BinaryHeap  42 
    2.9 智能指针  42 
    2.10 泛型和trait  43 
    2.10.1 泛型  43 
    2.10.2 trait  44 
    2.11 错误处理  47 
    2.12 表达式优先级  48 
    2.13 注释与打印  48 
    2.14 小结  50 
    第3 章 类型系统  51 
    3.1 通用概念  51 
    3.1.1 类型系统的作用  51 
    3.1.2 类型系统的分类  52 
    3.1.3 类型系统与多态性  53 
    3.2 Rust 类型系统概述  53 
    3.2.1 类型大小  53 
    3.2.2 类型推导  58 
    3.3 泛型  60 
    3.3.1 泛型函数  60 
    3.3.2 泛型返回值自动推导  62 
    3.4 深入trait  62 
    3.4.1 接口抽象  63 
    3.4.2 泛型约束  69 
    3.4.3 抽象类型  71 
    3.4.4 标签trait  77 
    3.5 类型转换  83 
    3.5.1 Deref 解引用  83 
    3.5.2 as 操作符  86 
    3.5.3 From 和Into  88 
    3.6 当前trait 系统的不足  89 
    3.6.1 孤儿规则的局限性  90 
    3.6.2 代码复用的效率不高  91 
    3.6.3 抽象表达能力有待改进  93 
    3.7 小结  94 
    第4 章 内存管理  95 
    4.1 通用概念  95 
    4.1.1 栈  96 
    4.1.2 堆  99 
    4.1.3 内存布局  101 
    4.2 Rust 中的资源管理  103 
    4.2.1 变量和函数  103 
    4.2.2 智能指针与RAII  106 
    4.2.3 内存泄漏与内存安全  110 
    4.2.4 复合类型的内存分配和布局  115 
    4.3 小结  117 
    第5 章 所有权系统  119 
    5.1 通用概念  120 
    5.2 所有权机制  123 
    5.3 绑定、作用域和生命周期  125 
    5.3.1 不可变与可变  126 
    5.3.2 绑定的时间属性——生命周期  127 
    5.4 所有权借用  131 
    5.5 生命周期参数  135 
    5.5.1 显式生命周期参数  136 
    5.5.2 省略生命周期参数  143 
    5.5.3 生命周期限定  145 
    5.5.4 trait 对象的生命周期  145 
    5.6 智能指针与所有权  146 
    5.6.1 共享所有权 Rc 和Weak   149 
    5.6.2 内部可变性Cell 和RefCell   151 
    5.6.3 写时复制Cow   153 
    5.7 并发安全与所有权  156 
    5.8 非词法作用域生命周期  157 
    5.9 小结  161 
    第6 章 函数、闭包与迭代器  162 
    6.1 函数  162 
    6.1.1 函数屏蔽  164 
    6.1.2 函数参数模式匹配  164 
    6.1.3 函数返回值  165 
    6.1.4 泛型函数  166 
    6.1.5 方法与函数  167 
    6.1.6 高阶函数  168 
    6.2 闭包  171 
    6.2.1 闭包的基本语法  172 
    6.2.2 闭包的实现  173 
    6.2.3 闭包与所有权  178 
    6.2.4 闭包作为函数参数和返回值  184 
    6.2.5 高阶生命周期  190 
    6.3 迭代器  194 
    6.3.1 外部迭代器和内部迭代器  194 
    6.3.2 Iterator trait  195 
    6.3.3 IntoIterator trait 和迭代器  199 
    6.3.4 迭代器适配器  202 
    6.3.5 消费器  207 
    6.3.6 自定义迭代器适配器  211 
    6.4 小结  214 
    第7 章 结构化编程  216 
    7.1 面向对象风格编程  217 
    7.1.1 结构体  217 
    7.1.2 枚举体  225 
    7.1.3 析构顺序  230 
    7.2 常用设计模式  233 
    7.2.1 建造者模式  234 
    7.2.2 访问者模式  236 
    7.2.3 RAII 模式  239 
    7.3 小结  243 
    第8 章 字符串与集合类型  244 
    8.1 字符串  244 
    8.1.1 字符编码  244 
    8.1.2 字符  247 
    8.1.3 字符串分类  249 
    8.1.4 字符串的两种处理方式  251 
    8.1.5 字符串的修改  253 
    8.1.6 字符串的查找  256 
    8.1.7 与其他类型相互转换  265 
    8.1.8 回顾  270 
    8.2 集合类型  271 
    8.2.1 动态可增长数组  271 
    8.2.2 映射集  281 
    8.3 理解容量  289 
    8.4 小结  292 
    第9 章 构建健壮的程序  294 
    9.1 通用概念  294 
    9.2 消除失败  295 
    9.3 分层处理错误  297 
    9.3.1 可选值Option   298 
    9.3.2 错误处理Result   302 
    9.4 恐慌(Panic)  314 
    9.5 第三方库  316 
    9.6 小结  319 
    第10 章 模块化编程  320 
    10.1 包管理  321 
    10.1.1 使用Cargo 创建包  321 
    10.1.2 使用第三方包  323 
    10.1.3 Cargo.toml 文件格式  331 
    10.1.4 自定义Cargo  337 
    10.2 模块系统  339 
    10.3 从零开始实现一个完整功能包  344 
    10.3.1 使用Cargo 创建新项目  345 
    10.3.2 使用structopt 解析命令行参数  345 
    10.3.3 定义统一的错误类型  347 
    10.3.4 读取CSV 文件  348 
    10.3.5 替换CSV 文件中的内容  351 
    10.3.6 进一步完善包  353 
    10.4 可见性和私有性  358 
    10.5 小结  360 
    第11 章 安全并发  362 
    11.1 通用概念  362 
    11.1.1 多进程和多线程  363 
    11.1.2 事件驱动、异步回调和协程  364 
    11.1.3 线程安全  365 
    11.2 多线程并发编程  370 
    11.2.1 线程管理  371 
    11.2.2 Send 和Sync  375 
    11.2.3 使用锁进行线程同步  379 
    11.2.4 屏障和条件变量  384 
    11.2.5 原子类型  386 
    11.2.6 使用Channel 进行线程间通信  388 
    11.2.7 内部可变性探究  397 
    11.2.8 线程池  399 
    11.2.9 使用Rayon 执行并行任务  407 
    11.2.10 使用Crossbeam  409 
    11.3 异步并发  412 
    11.3.1 生成器  413 
    11.3.2 Future 并发模式  418 
    11.3.3 async/await  421 
    11.4 数据并行  428 
    11.4.1 什么是SIMD  429 
    11.4.2 在Rust 中使用SIMD  430 
    11.5 小结  434 
    第12 章 元编程  435 
    12.1 反射  436 
    12.1.1 通过is 函数判断类型  436 
    12.1.2 转换到具体类型  437 
    12.1.3 非静态生命周期类型  439 
    12.2 宏系统  440 
    12.2.1 起源  440 
    12.2.2 Rust 中宏的种类  441 
    12.2.3 编译过程  442 
    12.2.4 声明宏  445 
    12.2.5 过程宏  458 
    12.3 编译器插件  472 
    12.4 小结  475 
    第13 章 超越安全的边界  477 
    13.1 Unsafe Rust 介绍  477 
    13.1.1 Unsafe 语法  478 
    13.1.2 访问和修改可变静态变量  480 
    13.1.3 Union 联合体  480 
    13.1.4 解引用原生指针  483 
    13.2 基于Unsafe 进行安全抽象  484 
    13.2.1 原生指针  484 
    13.2.2 子类型与型变  489 
    13.2.3 未绑定生命周期  494 
    13.2.4 Drop 检查  495 
    13.2.5 NonNull 指针  505 
    13.2.6 Unsafe 与恐慌安全  508 
    13.2.7 堆内存分配  508 
    13.2.8 混合代码内存安全架构三大原则  510 
    13.3 和其他语言交互  510 
    13.3.1 外部函数接口  510 
    13.3.2 与C/C++语言交互  514 
    13.3.3 使用Rust 提升动态语言性能  528 
    13.4 Rust 与WebAssembly  532 
    13.4.1 WebAssembly 要点介绍  533 
    13.4.2 使用Rust 开发WebAssembly  539 
    13.4.3 打造WebAssembly 开发生态  541 
    13.5 小结  543 
    附录A Rust 开发环境指南  544 
    附录B Rust 如何调试代码  549
  • 内容简介:
    Rust 是一门利用现代化的类型系统,有机地融合了内存管理、所有权语义和混合编程范式的编程语言。它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全。同时,还有能与C/C++语言媲美的性能,以及能和动态语言媲美的开发效率。 
    《Rust编程之道》并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust 语言。从设计哲学出发,探索Rust 语言的内在一致性;从源码分析入手,探索Rust 地道的编程风格;从工程角度着手,探索Rust 对健壮性的支持;从底层原理开始,探索Rust 内存安全的本质。 
    《Rust编程之道》涵盖了Rust 2018 的特性,适合有一定编程经验且想要学习Rust 的初学者,以及对Rust 有一定的了解,想要继续深入学习的进阶者。
  • 作者简介:
    张汉东,80后,资深软件工程师、企业独立咨询师、技术作者译者。爱好读书、写作,喜欢研究技术、学习之道,以及心智和认知开发模式。曾在互联网行业沉浮十余载,先后效力于电商、社交游戏、广告和众筹领域。作为企业独立咨询师,先后为思科、平安科技和闪迪等公司提供咨询服务。目前在心智教育及创客领域开疆拓土。是《Ruby原理剖析》一书的译者。喜欢Rust语言,为Rust语言提交了三次编译器Bug,并协助修复其中之一。为官方Rust 2018 Guide做过贡献,并数次提出改进意见。参与了国内Rust社区的管理和运营,在2018年打造了《Rust每日新闻》频道,深受Rustacean们的喜爱。为初学者精心打造了Rust必学第一课:知乎Live《如何系统地学习Rust语言》,获得五星好评。
  • 目录:
    第1 章 新时代的语言  1 
    1.1 缘起  1 
    1.2 设计哲学  3 
    1.2.1 内存安全  3 
    1.2.2 零成本抽象  4 
    1.2.3 实用性  5 
    1.3 现状与未来  7 
    1.3.1 语言架构  8 
    1.3.2 开源社区  9 
    1.3.3 发展前景  9 
    1.4 Rust 代码如何执行  10 
    1.5 小结  10 
    第2 章 语言精要  11 
    2.1 Rust 语言的基本构成  11 
    2.1.1 语言规范  11 
    2.1.2 编译器  12 
    2.1.3 核心库  12 
    2.1.4 标准库  12 
    2.1.5 包管理器  13 
    2.2 语句与表达式  13 
    2.3 变量与绑定  14 
    2.3.1 位置表达式和值表达式  15 
    2.3.2 不可变绑定与可变绑定  15 
    2.3.3 所有权与引用  16 
    2.4 函数与闭包  17 
    2.4.1 函数定义  17 
    2.4.2 作用域与生命周期  18 
    2.4.3 函数指针  19 
    2.4.5 CTFE 机制  20 
    2.4.6 闭包  20 
    2.5 流程控制  22 
    2.5.1 条件表达式  22 
    2.5.2 循环表达式  23 
    2.5.3 match 表达式与模式匹配  24 
    2.5.4 if let 和while let 表达式  25 
    2.6 基本数据类型  26 
    2.6.1 布尔类型  26 
    2.6.2 基本数字类型  26 
    2.6.3 字符类型  27 
    2.6.4 数组类型  28 
    2.6.5 范围类型  29 
    2.6.6 切片类型  29 
    2.6.7 str 字符串类型  30 
    2.6.8 原生指针  31 
    2.6.9 never 类型  31 
    2.7 复合数据类型  32 
    2.7.1 元组  32 
    2.7.2 结构体  33 
    2.7.3 枚举体  36 
    2.8 常用集合类型  38 
    2.8.1 线性序列:向量  38 
    2.8.2 线性序列:双端队列  39 
    2.8.3 线性序列:链表  40 
    2.8.4 Key-Value 映射表:HashMap 和BTreeMap  40 
    2.8.5 集合:HashSet 和BTreeSet  41 
    2.8.6 优先队列:BinaryHeap  42 
    2.9 智能指针  42 
    2.10 泛型和trait  43 
    2.10.1 泛型  43 
    2.10.2 trait  44 
    2.11 错误处理  47 
    2.12 表达式优先级  48 
    2.13 注释与打印  48 
    2.14 小结  50 
    第3 章 类型系统  51 
    3.1 通用概念  51 
    3.1.1 类型系统的作用  51 
    3.1.2 类型系统的分类  52 
    3.1.3 类型系统与多态性  53 
    3.2 Rust 类型系统概述  53 
    3.2.1 类型大小  53 
    3.2.2 类型推导  58 
    3.3 泛型  60 
    3.3.1 泛型函数  60 
    3.3.2 泛型返回值自动推导  62 
    3.4 深入trait  62 
    3.4.1 接口抽象  63 
    3.4.2 泛型约束  69 
    3.4.3 抽象类型  71 
    3.4.4 标签trait  77 
    3.5 类型转换  83 
    3.5.1 Deref 解引用  83 
    3.5.2 as 操作符  86 
    3.5.3 From 和Into  88 
    3.6 当前trait 系统的不足  89 
    3.6.1 孤儿规则的局限性  90 
    3.6.2 代码复用的效率不高  91 
    3.6.3 抽象表达能力有待改进  93 
    3.7 小结  94 
    第4 章 内存管理  95 
    4.1 通用概念  95 
    4.1.1 栈  96 
    4.1.2 堆  99 
    4.1.3 内存布局  101 
    4.2 Rust 中的资源管理  103 
    4.2.1 变量和函数  103 
    4.2.2 智能指针与RAII  106 
    4.2.3 内存泄漏与内存安全  110 
    4.2.4 复合类型的内存分配和布局  115 
    4.3 小结  117 
    第5 章 所有权系统  119 
    5.1 通用概念  120 
    5.2 所有权机制  123 
    5.3 绑定、作用域和生命周期  125 
    5.3.1 不可变与可变  126 
    5.3.2 绑定的时间属性——生命周期  127 
    5.4 所有权借用  131 
    5.5 生命周期参数  135 
    5.5.1 显式生命周期参数  136 
    5.5.2 省略生命周期参数  143 
    5.5.3 生命周期限定  145 
    5.5.4 trait 对象的生命周期  145 
    5.6 智能指针与所有权  146 
    5.6.1 共享所有权 Rc 和Weak   149 
    5.6.2 内部可变性Cell 和RefCell   151 
    5.6.3 写时复制Cow   153 
    5.7 并发安全与所有权  156 
    5.8 非词法作用域生命周期  157 
    5.9 小结  161 
    第6 章 函数、闭包与迭代器  162 
    6.1 函数  162 
    6.1.1 函数屏蔽  164 
    6.1.2 函数参数模式匹配  164 
    6.1.3 函数返回值  165 
    6.1.4 泛型函数  166 
    6.1.5 方法与函数  167 
    6.1.6 高阶函数  168 
    6.2 闭包  171 
    6.2.1 闭包的基本语法  172 
    6.2.2 闭包的实现  173 
    6.2.3 闭包与所有权  178 
    6.2.4 闭包作为函数参数和返回值  184 
    6.2.5 高阶生命周期  190 
    6.3 迭代器  194 
    6.3.1 外部迭代器和内部迭代器  194 
    6.3.2 Iterator trait  195 
    6.3.3 IntoIterator trait 和迭代器  199 
    6.3.4 迭代器适配器  202 
    6.3.5 消费器  207 
    6.3.6 自定义迭代器适配器  211 
    6.4 小结  214 
    第7 章 结构化编程  216 
    7.1 面向对象风格编程  217 
    7.1.1 结构体  217 
    7.1.2 枚举体  225 
    7.1.3 析构顺序  230 
    7.2 常用设计模式  233 
    7.2.1 建造者模式  234 
    7.2.2 访问者模式  236 
    7.2.3 RAII 模式  239 
    7.3 小结  243 
    第8 章 字符串与集合类型  244 
    8.1 字符串  244 
    8.1.1 字符编码  244 
    8.1.2 字符  247 
    8.1.3 字符串分类  249 
    8.1.4 字符串的两种处理方式  251 
    8.1.5 字符串的修改  253 
    8.1.6 字符串的查找  256 
    8.1.7 与其他类型相互转换  265 
    8.1.8 回顾  270 
    8.2 集合类型  271 
    8.2.1 动态可增长数组  271 
    8.2.2 映射集  281 
    8.3 理解容量  289 
    8.4 小结  292 
    第9 章 构建健壮的程序  294 
    9.1 通用概念  294 
    9.2 消除失败  295 
    9.3 分层处理错误  297 
    9.3.1 可选值Option   298 
    9.3.2 错误处理Result   302 
    9.4 恐慌(Panic)  314 
    9.5 第三方库  316 
    9.6 小结  319 
    第10 章 模块化编程  320 
    10.1 包管理  321 
    10.1.1 使用Cargo 创建包  321 
    10.1.2 使用第三方包  323 
    10.1.3 Cargo.toml 文件格式  331 
    10.1.4 自定义Cargo  337 
    10.2 模块系统  339 
    10.3 从零开始实现一个完整功能包  344 
    10.3.1 使用Cargo 创建新项目  345 
    10.3.2 使用structopt 解析命令行参数  345 
    10.3.3 定义统一的错误类型  347 
    10.3.4 读取CSV 文件  348 
    10.3.5 替换CSV 文件中的内容  351 
    10.3.6 进一步完善包  353 
    10.4 可见性和私有性  358 
    10.5 小结  360 
    第11 章 安全并发  362 
    11.1 通用概念  362 
    11.1.1 多进程和多线程  363 
    11.1.2 事件驱动、异步回调和协程  364 
    11.1.3 线程安全  365 
    11.2 多线程并发编程  370 
    11.2.1 线程管理  371 
    11.2.2 Send 和Sync  375 
    11.2.3 使用锁进行线程同步  379 
    11.2.4 屏障和条件变量  384 
    11.2.5 原子类型  386 
    11.2.6 使用Channel 进行线程间通信  388 
    11.2.7 内部可变性探究  397 
    11.2.8 线程池  399 
    11.2.9 使用Rayon 执行并行任务  407 
    11.2.10 使用Crossbeam  409 
    11.3 异步并发  412 
    11.3.1 生成器  413 
    11.3.2 Future 并发模式  418 
    11.3.3 async/await  421 
    11.4 数据并行  428 
    11.4.1 什么是SIMD  429 
    11.4.2 在Rust 中使用SIMD  430 
    11.5 小结  434 
    第12 章 元编程  435 
    12.1 反射  436 
    12.1.1 通过is 函数判断类型  436 
    12.1.2 转换到具体类型  437 
    12.1.3 非静态生命周期类型  439 
    12.2 宏系统  440 
    12.2.1 起源  440 
    12.2.2 Rust 中宏的种类  441 
    12.2.3 编译过程  442 
    12.2.4 声明宏  445 
    12.2.5 过程宏  458 
    12.3 编译器插件  472 
    12.4 小结  475 
    第13 章 超越安全的边界  477 
    13.1 Unsafe Rust 介绍  477 
    13.1.1 Unsafe 语法  478 
    13.1.2 访问和修改可变静态变量  480 
    13.1.3 Union 联合体  480 
    13.1.4 解引用原生指针  483 
    13.2 基于Unsafe 进行安全抽象  484 
    13.2.1 原生指针  484 
    13.2.2 子类型与型变  489 
    13.2.3 未绑定生命周期  494 
    13.2.4 Drop 检查  495 
    13.2.5 NonNull 指针  505 
    13.2.6 Unsafe 与恐慌安全  508 
    13.2.7 堆内存分配  508 
    13.2.8 混合代码内存安全架构三大原则  510 
    13.3 和其他语言交互  510 
    13.3.1 外部函数接口  510 
    13.3.2 与C/C++语言交互  514 
    13.3.3 使用Rust 提升动态语言性能  528 
    13.4 Rust 与WebAssembly  532 
    13.4.1 WebAssembly 要点介绍  533 
    13.4.2 使用Rust 开发WebAssembly  539 
    13.4.3 打造WebAssembly 开发生态  541 
    13.5 小结  543 
    附录A Rust 开发环境指南  544 
    附录B Rust 如何调试代码  549
查看详情
12
相关图书 / 更多
Rust编程之道
Rust项目开发实战
[美]卡洛·米兰内西 著;程晓磊 译
Rust编程之道
Rust编程从入门到实战
樊少冰;孟祥莲
Rust编程之道
Rubber Reinforcement with Particulate Fillers(粒状填料对橡胶的补强)
迈克尔·莫里斯 著;王梦蛟
Rust编程之道
Ruby on Rails应用开发最强教科书:完全版
太田智彬 著
Rust编程之道
Rust编程 第2版(影印版)
Jim Blandy
Rust编程之道
Rust实战:从入门到精通
[意]卡洛·米拉内西(Carlo Milanesi) 著;卢涛 李颖 译
Rust编程之道
Rust语言编程实战
[英]克劳斯·马特辛格
Rust编程之道
Rust实战
蒂姆·麦克纳马拉(Tim McNamara)
Rust编程之道
Rust系统编程
[印]普拉布·艾什沃拉 著;刘君 译
Rust编程之道
Rust程序设计(第2版)
[美]吉姆·布兰迪(Jim Blandy)(美)贾森·奥伦多夫(Jason Or
Rust编程之道
RunningasFastasWind像风一样奔跑儿童小说
邓湘子、朱亚辉 著
Rust编程之道
Rust编程:入门 实战与进阶
朱春雷
您可能感兴趣 / 更多
Rust编程之道
张口说经济
张汉东
Rust编程之道
浙江国际经济贸易探索(第七辑)
张汉东 著
Rust编程之道
浙江国际经济贸易探索(第6辑)
张汉东 编
Rust编程之道
浙江国际经济贸易探索(第五辑)
张汉东 编
Rust编程之道
浙江国际经济贸易探索(第4辑)
张汉东 编
Rust编程之道
浙江国际经济贸易探索(第3辑)
张汉东 编
Rust编程之道
山东通史:秦汉卷
张汉东 编
Rust编程之道
区域开放型经济发展研究
张汉东 等著
Rust编程之道
口腔疾病诊疗常规
张汉东 编