دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1
نویسندگان: 范长春
سری:
ISBN (شابک) : 9787111606420
ناشر:
سال نشر: 2018
تعداد صفحات: 405
زبان: Chinese
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 72 مگابایت
در صورت تبدیل فایل کتاب 深入浅出Rust به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب 深入浅出Rust نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
目录 · · · · · · 前言 第一部分 基础知识 第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 数据结构中的泛型 234 21.2 函数中的泛型 235 21.3 impl块中的泛型 237 21.4 泛型参数约束 237 21.5 关联类型 241 21.6 何时使用关联类型 244 21.7 泛型特化 246 21.7.1 特化的意义 247 21.7.2 default上下文关键字 248 21.7.3 交叉 impl 250 第22章 闭包 252 22.1 变量捕获 254 22.2 move关键字 256 22.3 Fn/FnMut/FnOnce 257 22.4 闭包与泛型 259 22.5 闭包与生命周期 261 第23章 动态分派和静态分派 264 23.1 trait object 265 23.2 object safe 268 23.3 impl trait 271 第24章 容器与迭代器 275 24.1 容器 275 24.1.1 Vec 275 24.1.2 VecDeque 277 24.1.3 HashMap 277 24.1.4 BTreeMap 281 24.2 迭代器 283 24.2.1 实现迭代器 283 24.2.2 迭代器的组合 284 24.2.3 for循环 285 第25章 生成器 289 25.1 简介 289 25.2 对比迭代器 291 25.3 对比立即求值 292 25.4 生成器的原理 293 25.4.1 生成器原理简介 293 25.4.2 自引用类型 297 25.5 协程简介 298 第26章 标准库简介 302 26.1 类型转换 302 26.1.1 AsRef / AsMut 302 26.1.2 Borrow / BorrowMut 303 26.1.3 From / Into 304 26.1.4 ToOwned 305 26.1.5 ToString / FromStr 305 26.2 运算符重载 306 26.3 I/O 308 26.3.1 平台相关字符串 308 26.3.2 文件和路径 309 26.3.3 标准输入输出 310 26.3.4 进程启动参数 311 26.4 Any 311 第四部分 线程安全 第27章 线程安全 314 27.1 什么是线程 314 27.2 启动线程 316 27.3 免数据竞争 317 27.4 Send & Sync 320 第28章 详解Send和Sync 321 28.1 什么是Send 321 28.2 什么是Sync 322 28.3 自动推理 323 28.4 小结 324 第29章 状态共享 325 29.1 Arc 325 29.2 Mutex 326 29.3 RwLock 328 29.4 Atomic 329 29.5 死锁 331 29.6 Barrier 333 29.7 Condvar 334 29.8 全局变量 335 29.9 线程局部存储 336 29.10 总结 337 第30章 管道 339 30.1 异步管道 339 30.2 同步管道 341 第31章 第三方并行开发库 343 31.1 threadpool 343 31.2 scoped-threadpool 344 31.3 parking_lot 345 31.4 crossbeam 345 31.5 rayon 346 第五部分 实用设施 第32章 项目和模块 350 32.1 cargo 350 32.2 项目依赖 353 32.2.1 配置 355 32.2.2 workspace 355 32.2.3 build.rs 356 32.3 模块管理 358 32.3.1 文件组织 358 32.3.2 可见性 360 32.3.3 use关键字 362 第33章 错误处理 364 33.1 基本错误处理 364 33.2 组合错误类型 366 33.3 问号运算符 367 33.4 main函数中使用问号运算符 372 33.5 新的Failure库 373 第34章 FFI 375 34.1 什么是FFI 375 34.2 从C调用Rust库 376 34.3 从Rust调用C库 378 34.4 更复杂的数据类型 378 第35章 文档和测试 381 35.1 文档 381 35.2 测试 382 附录 词汇表 387