91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
Rust程序設(shè)計(jì)
Rust程序設(shè)計(jì)
Jim Blandy, Jason Orendorff
李松峰 譯
出版時(shí)間:2020年09月
頁數(shù):476
Rust是一門新的系統(tǒng)編程語言,兼具C和C++的高性能和底層控制能力,而且能保證內(nèi)存安全和線程安全,是系統(tǒng)編程發(fā)展史上的一個(gè)巨大進(jìn)步。本書對(duì)Rust進(jìn)行了全面介紹,詳細(xì)解釋了這門語言的重要概念,并提供了大量清晰易懂的示例,逐步指導(dǎo)讀者用Rust編寫出既安全又高性能的程序。
本書由兩位具有數(shù)十年經(jīng)驗(yàn)的系統(tǒng)程序員撰寫,他們不僅分享了自己對(duì)Rust的深刻見解,而且還提供了一些建議和操作實(shí)踐,對(duì)Rust開發(fā)者和系統(tǒng)程序員十分有幫助。
● Rust如何在內(nèi)存中表示值(輔以圖表)
● 完整解釋了所有權(quán)、轉(zhuǎn)移、借用和生命期
● Cargo、rustdoc、單元測試,以及如何在Rust公共包倉庫上發(fā)布代碼
● 泛型代碼、閉包、集合和迭代器等高級(jí)特性
● Rust中的并發(fā):線程、互斥量、通道和原子操作
● 不安全代碼,以及如何保持使用常規(guī)代碼的完整性
● 用豐富的例子展示了Rust各方面特性的綜合運(yùn)用
  1. 前言
  2. 第1章 為什么是Rust 
  3. 第2章 Rust初體驗(yàn) 
  4. 2.1 下載和安裝Rust 
  5. 2.2 一個(gè)簡單的函數(shù) 
  6. 2.3 編寫和運(yùn)行單元測試 
  7. 2.4 處理命令行參數(shù) 
  8. 2.5 一個(gè)簡單的Web服務(wù)器 
  9. 2.6 并發(fā) 
  10. 2.6.1 到底什么是曼德布洛特集合 
  11. 2.6.2 解析成對(duì)的命令行參數(shù) 
  12. 2.6.3 像素到復(fù)數(shù)的映射 
  13. 2.6.4 繪制集合 
  14. 2.6.5 寫出圖像文件 
  15. 2.6.6 并發(fā)的曼德布洛特程序 
  16. 2.6.7 運(yùn)行曼德布洛特繪圖器 
  17. 2.6.8 安全無形 
  18. 第3章 基本類型 
  19. 3.1 機(jī)器類型 
  20. 3.1.1 整數(shù)類型 
  21. 3.1.2 浮點(diǎn)類型 
  22. 3.1.3 布爾類型 
  23. 3.1.4 字符類型 
  24. 3.2 元組 
  25. 3.3 指針類型 
  26. 3.3.1 引用 
  27. 3.3.2 Box 
  28. 3.3.3 原始指針 
  29. 3.4 數(shù)組、向量和切片 
  30. 3.4.1 數(shù)組 
  31. 3.4.2 向量 
  32. 3.4.3 逐個(gè)元素地構(gòu)建向量 
  33. 3.4.4 切片 
  34. 3.5 字符串類型 
  35. 3.5.1 字符串字面量
  36. 3.5.2 字節(jié)字符串 
  37. 3.5.3 字符串在內(nèi)存中的表示 
  38. 3.5.4 字符串 
  39. 3.5.5 使用字符串 
  40. 3.5.6 其他類似字符串的類型 
  41. 3.6 更多類型 
  42. 第4章 所有權(quán) 
  43. 4.1 所有權(quán) 
  44. 4.2 轉(zhuǎn)移 
  45. 4.2.1 更多轉(zhuǎn)移操作 
  46. 4.2.2 轉(zhuǎn)移與控制流 
  47. 4.2.3 轉(zhuǎn)移與索引內(nèi)容 
  48. 4.3 Copy類型:轉(zhuǎn)移的例外 
  49. 4.4 Rc和Arc:共享所有權(quán) 
  50. 第5章 引用 
  51. 5.1 引用作為值 
  52. 5.1.1 Rust引用與C++引用 
  53. 5.1.2 給引用賦值 
  54. 5.1.3 引用的引用 
  55. 5.1.4 比較引用 
  56. 5.1.5 引用永遠(yuǎn)不為空 
  57. 5.1.6 借用對(duì)任意表達(dá)式的引用 
  58. 5.1.7 對(duì)切片和特型對(duì)象的引用 
  59. 5.2 引用安全 
  60. 5.2.1 借用局部變量 
  61. 5.2.2 接收引用作為參數(shù) 
  62. 5.2.3 將引用作為參數(shù)傳遞 
  63. 5.2.4 返回引用 
  64. 5.2.5 結(jié)構(gòu)體包含引用 
  65. 5.2.6 不同的生命期參數(shù) 
  66. 5.2.7 省略生命期參數(shù) 
  67. 5.3 共享與修改 
  68. 5.4 征服對(duì)象之?!?
  69. 第6章 表達(dá)式 
  70. 6.1 表達(dá)式語言 
  71. 6.2 塊與分號(hào) 
  72. 6.3 聲明 
  73. 6.4 if與match 
  74. 6.5 循環(huán) 
  75. 6.6 return表達(dá)式 
  76. 6.7 為什么Rust有循環(huán) 
  77. 6.8 函數(shù)與方法調(diào)用 
  78. 6.9 字段與元素 
  79. 6.10 引用操作符 
  80. 6.11 算術(shù)、位、比較和邏輯操作符 
  81. 6.12 賦值 
  82. 6.13 類型轉(zhuǎn)換 
  83. 6.14 閉包 
  84. 6.15 優(yōu)先級(jí)與關(guān)聯(lián)性 
  85. 6.16 展望 
  86. 第7章 錯(cuò)誤處理 
  87. 7.1 詫異 
  88. 7.1.1 展開棧 
  89. 7.1.2 中止進(jìn)程 
  90. 7.2 結(jié)果 
  91. 7.2.1 捕獲錯(cuò)誤 
  92. 7.2.2 結(jié)果類型別名 
  93. 7.2.3 打印錯(cuò)誤 
  94. 7.2.4 傳播錯(cuò)誤 
  95. 7.2.5 處理多種錯(cuò)誤類型 
  96. 7.2.6 處理“不會(huì)發(fā)生”的錯(cuò)誤 
  97. 7.2.7 忽略錯(cuò)誤 
  98. 7.2.8 在main()中處理錯(cuò)誤 
  99. 7.2.9 聲明自定義錯(cuò)誤類型 
  100. 7.2.10 為什么是結(jié)果 
  101. 第8章 包和模塊 
  102. 8.1 包 
  103. 8.2 模塊 
  104. 8.2.1 把模塊寫在單獨(dú)的文件中 
  105. 8.2.2 路徑和導(dǎo)入 
  106. 8.2.3 標(biāo)準(zhǔn)前置模塊 
  107. 8.2.4 特性項(xiàng),Rust的基礎(chǔ) 
  108. 8.3 將程序作為庫發(fā)布 
  109. 8.4 src/bin目錄 
  110. 8.5 屬性 
  111. 8.6 測試和文檔 
  112. 8.6.1 集成測試 
  113. 8.6.2 文檔 
  114. 8.6.3 文檔測試 
  115. 8.7 指定依賴 
  116. 8.7.1 版本 
  117. 8.7.2 Cargo.lock 
  118. 8.8 把包發(fā)布到crates.io 
  119. 8.9 工作空間 
  120. 8.10 還有驚喜 
  121. 第9章 結(jié)構(gòu)體 
  122. 9.1 命名字段結(jié)構(gòu)體 
  123. 9.2 類元組結(jié)構(gòu)體 
  124. 9.3 類基元結(jié)構(gòu)體 
  125. 9.4 結(jié)構(gòu)體布局 
  126. 9.5 通過impl定義方法 
  127. 9.6 泛型結(jié)構(gòu)體 
  128. 9.7 帶生命期參數(shù)的結(jié)構(gòu)體 
  129. 9.8 為結(jié)構(gòu)體類型派生共有特型 
  130. 9.9 內(nèi)部修改能力 
  131. 第10章 枚舉與模式 
  132. 10.1 枚舉 
  133. 10.1.1 包含數(shù)據(jù)的枚舉 
  134. 10.1.2 枚舉的內(nèi)存布局 
  135. 10.1.3 使用枚舉的富數(shù)據(jù)結(jié)構(gòu) 
  136. 10.1.4 泛型枚舉 
  137. 10.2 模式 
  138. 10.2.1 模式中的字面量、變量和通配符 
  139. 10.2.2 元組與結(jié)構(gòu)體模式 
  140. 10.2.3 引用模式 
  141. 10.2.4 匹配多種可能性 
  142. 10.2.5 模式護(hù)具 
  143. 10.2.6 @模式 
  144. 10.2.7 在哪里使用模式 
  145. 10.2.8 填充二叉樹 
  146. 10.3 設(shè)計(jì)的考量 
  147. 第11章 特型與泛型 
  148. 11.1 使用特型 
  149. 11.1.1 特型目標(biāo) 
  150. 11.1.2 特型目標(biāo)布局 
  151. 11.1.3 泛型函數(shù) 
  152. 11.1.4 使用哪一個(gè) 
  153. 11.2 定義和實(shí)現(xiàn)特型 
  154. 11.2.1 默認(rèn)方法 
  155. 11.2.2 特型與其他人的類型 
  156. 11.2.3 特型中的Self 
  157. 11.2.4 子特型 
  158. 11.2.5 靜態(tài)方法 
  159. 11.3 完全限定方法調(diào)用 
  160. 11.4 定義類型關(guān)系的特型 
  161. 11.4.1 關(guān)聯(lián)類型(或迭代器工作原理) 
  162. 11.4.2 泛型特型(或操作符重載的原理) 
  163. 11.4.3 伴型特型(或rand::random()工作原理) 
  164. 11.5 逆向工程綁定 
  165. 11.6 小結(jié) 
  166. 第12章 操作符重載 
  167. 12.1 算術(shù)與位操作符 
  168. 12.1.1 一元操作符 
  169. 12.1.2 二元操作符 
  170. 12.1.3 復(fù)合賦值操作符 
  171. 12.2 相等測試 
  172. 12.3 順序比較 
  173. 12.4 Index與IndexMut 
  174. 12.5 其他操作符 
  175. 第13章 實(shí)用特型 
  176. 13.1 Drop 
  177. 13.2 Sized 
  178. 13.3 Clone 
  179. 13.4 Copy 
  180. 13.5 Deref與DerefMut 
  181. 13.6 Default 
  182. 13.7 AsRef與AsMut 
  183. 13.8 Borrow與BorrowMut 
  184. 13.9 From與Into 
  185. 13.10 ToOwned 
  186. 13.11 Borrow與ToOwned實(shí)例:謙遜的奶牛(Cow) 
  187. 第14章 閉包 
  188. 14.1 捕獲變量 
  189. 14.1.1 借用值的閉包 
  190. 14.1.2 盜用值的閉包 
  191. 14.2 函數(shù)與閉包類型 
  192. 14.3 閉包的性能 
  193. 14.4 閉包和安全 
  194. 14.4.1 殺值的閉包 
  195. 14.4.2 FnOnce 
  196. 14.4.3 FnMut 
  197. 14.5 回調(diào) 
  198. 14.6 有效使用閉包 
  199. 第15章 迭代器 
  200. 15.1 Iterator和IntoIterator特型 
  201. 15.2 創(chuàng)建迭代器 
  202. 15.2.1 iter和iter_mut方法 
  203. 15.2.2 IntoIterator實(shí)現(xiàn) 
  204. 15.2.3 drain方法 
  205. 15.2.4 其他迭代器源 
  206. 15.3 迭代器適配器 
  207. 15.3.1 map和filter 
  208. 15.3.2 filter_map和flat_map 
  209. 15.3.3 scan 
  210. 15.3.4 take和take_while 
  211. 15.3.5 skip和skip_while 
  212. 15.3.6 peekable 
  213. 15.3.7 fuse 
  214. 15.3.8 可逆迭代器與rev 
  215. 15.3.9 inspect 
  216. 15.3.10 chain 
  217. 15.3.11 enumerate 
  218. 15.3.12 zip 
  219. 15.3.13 by_ref 
  220. 15.3.14 cloned 
  221. 15.3.15 cycle 
  222. 15.4 消費(fèi)迭代器 
  223. 15.4.1 簡單累計(jì):count、sum和product 
  224. 15.4.2 max和min 
  225. 15.4.3 max_by和min_by 
  226. 15.4.4 max_by_key和min_by_key 
  227. 15.4.5 比較項(xiàng)序列 
  228. 15.4.6 any和all 
  229. 15.4.7 position、rposition和ExactSizeIterator 
  230. 15.4.8 fold 
  231. 15.4.9 nth 
  232. 15.4.10 last 
  233. 15.4.11 find 
  234. 15.4.12 構(gòu)建集合:collect和FromIterator 
  235. 15.4.13 Extend特型 
  236. 15.4.14 partition 
  237. 15.5 實(shí)現(xiàn)自己的迭代器 
  238. 第16章 集合 
  239. 16.1 概述 
  240. 16.2 Vec 
  241. 16.2.1 訪問元素 
  242. 16.2.2 迭代 
  243. 16.2.3 增長和收縮向量 
  244. 16.2.4 連接 
  245. 16.2.5 拆分 
  246. 16.2.6 交換 
  247. 16.2.7 排序和搜索 
  248. 16.2.8 比較切片 
  249. 16.2.9 隨機(jī)元素 
  250. 16.2.10 Rust排除無效錯(cuò)誤 
  251. 16.3 VecDeque 
  252. 16.4 LinkedList 
  253. 16.5 BinaryHeap 
  254. 16.6 HashMap和BTreeMap 
  255. 16.6.1 條目 
  256. 16.6.2 映射迭代 
  257. 16.7 HashSet和BTreeSet 
  258. 16.7.1 集迭代 
  259. 16.7.2 相等的值不相同 
  260. 16.7.3 整集操作 
  261. 16.8 散列 
  262. 16.9 標(biāo)準(zhǔn)集合之外 
  263. 第17章 字符串與文本 
  264. 17.1 Unicode背景知識(shí) 
  265. 17.1.1 ASCII、Latin-1和Unicode 
  266. 17.1.2 UTF-8 
  267. 17.1.3 文本方向性 
  268. 17.2 字符(char) 
  269. 17.2.1 字符分類 
  270. 17.2.2 處理數(shù)字 
  271. 17.2.3 字符大小寫轉(zhuǎn)換 
  272. 17.2.4 與整數(shù)相互轉(zhuǎn)換 
  273. 17.3 String與str 
  274. 17.3.1 創(chuàng)建字符串值 
  275. 17.3.2 簡單檢查 
  276. 17.3.3 追加和插入文本 
  277. 17.3.4 刪除文本 
  278. 17.3.5 搜索與迭代的約定 
  279. 17.3.6 搜索文本的模式 
  280. 17.3.7 搜索與替換 
  281. 17.3.8 迭代文本 
  282. 17.3.9 修剪 
  283. 17.3.10 字符串大小寫轉(zhuǎn)換 
  284. 17.3.11 從字符串解析出其他類型 
  285. 17.3.12 將其他類型轉(zhuǎn)換為字符串 
  286. 17.3.13 作為其他類文本類型借用 
  287. 17.3.14 訪問UTF-8格式的文本 
  288. 17.3.15 從UTF-8數(shù)據(jù)產(chǎn)生文本 
  289. 17.3.16 阻止分配 
  290. 17.3.17 字符串作為泛型集合 
  291. 17.4 格式化值 
  292. 17.4.1 格式化文本值 
  293. 17.4.2 格式化數(shù)值 
  294. 17.4.3 格式化其他類型 
  295. 17.4.4 為調(diào)試格式化值 
  296. 17.4.5 為調(diào)試格式化指針 
  297. 17.4.6 通過索引或名字引用參數(shù) 
  298. 17.4.7 動(dòng)態(tài)寬度與精度 
  299. 17.4.8 格式化自定義類型 
  300. 17.4.9 在你的代碼中使用格式化語言 
  301. 17.5 正則表達(dá)式 
  302. 17.5.1 基本用法 
  303. 17.5.2 懶構(gòu)建Regex值 
  304. 17.6 規(guī)范化 
  305. 17.6.1 規(guī)范化形式 
  306. 17.6.2 unicode-normalization包 
  307. 第18章 輸入和輸出 
  308. 18.1 讀取器和寫入器 
  309. 18.1.1 讀取器 
  310. 18.1.2 緩沖讀取器 
  311. 18.1.3 讀取文本行 
  312. 18.1.4 收集行 
  313. 18.1.5 寫入器 
  314. 18.1.6 文件 
  315. 18.1.7 搜尋 
  316. 18.1.8 其他讀取器和寫入器類型 
  317. 18.1.9 二進(jìn)制數(shù)據(jù)、壓縮與序列化 
  318. 18.2 文件與目錄 
  319. 18.2.1 OsStr和Path 
  320. 18.2.2 Path和PathBuf的方法 
  321. 18.2.3 文件系統(tǒng)訪問函數(shù) 
  322. 18.2.4 讀取目錄 
  323. 18.2.5 平臺(tái)特定的特性
  324. 18.3 網(wǎng)絡(luò)編程 
  325. 第19章 并發(fā) 
  326. 19.1 并行分叉–合并 
  327. 19.1.1 產(chǎn)生及合并 
  328. 19.1.2 跨線程錯(cuò)誤處理 
  329. 19.1.3 跨線程共享不可修改數(shù)據(jù) 
  330. 19.1.4 Rayon 
  331. 19.1.5 重溫曼德布洛特集合 
  332. 19.2 通道 
  333. 19.2.1 發(fā)送值 
  334. 19.2.2 接收值 
  335. 19.2.3 運(yùn)行管道 
  336. 19.2.4 通道特性與性能 
  337. 19.2.5 線程安全:Send與Sync 
  338. 19.2.6 將所有迭代器都接到通道上 
  339. 19.2.7 超越管道 
  340. 19.3 共享可修改狀態(tài) 
  341. 19.3.1 什么是互斥量 
  342. 19.3.2 Mutex 
  343. 19.3.3 mut與Mutex 
  344. 19.3.4 互斥量的問題 
  345. 19.3.5 死鎖 
  346. 19.3.6 中毒的互斥量 
  347. 19.3.7 使用互斥量的多消費(fèi)者通道 
  348. 19.3.8 讀/寫鎖(RwLock) 
  349. 19.3.9 條件變量(Condvar)
  350. 19.3.10 原子類型 
  351. 19.3.11 全局變量 
  352. 19.4 習(xí)慣編寫Rust并發(fā)代碼 
  353. 第20章 宏 
  354. 20.1 宏基礎(chǔ) 
  355. 20.1.1 宏擴(kuò)展基礎(chǔ) 
  356. 20.1.2 意外結(jié)果 
  357. 20.1.3 重復(fù) 
  358. 20.2 內(nèi)置宏 
  359. 20.3 調(diào)試宏 
  360. 20.4 json!宏 
  361. 20.4.1 片段類型 
  362. 20.4.2 在宏里使用遞歸 
  363. 20.4.3 在宏里使用特型 
  364. 20.4.4 作用域與自凈宏 
  365. 20.4.5 導(dǎo)入和導(dǎo)出宏 
  366. 20.5 匹配時(shí)避免語法錯(cuò)誤 
  367. 20.6 超越macro_rules! 
  368. 第21章 不安全代碼 
  369. 21.1 不安全源自哪里 
  370. 21.2 不安全的塊 
  371. 21.3 不安全的函數(shù) 
  372. 21.4 不安全的塊還是不安全的函數(shù) 
  373. 21.5 未定義行為 
  374. 21.6 不安全的特型 
  375. 21.7 原始指針 
  376. 21.7.1 安全解引用原始指針 
  377. 21.7.2 示例:RefWithFlag 
  378. 21.7.3 可空指針 
  379. 21.7.4 類型大小與對(duì)齊 
  380. 21.7.5 指針?biāo)阈g(shù) 
  381. 21.7.6 移入和移出內(nèi)存 
  382. 21.7.7 示例:GapBuffer 
  383. 21.7.8 不安全代碼中的詫異安全性 
  384. 21.8 外來函數(shù):在Rust中調(diào)用C和C++ 
  385. 21.8.1 查找共有數(shù)據(jù)表示 
  386. 21.8.2 聲明外來函數(shù)和變量 
  387. 21.8.3 使用庫函數(shù) 
  388. 21.8.4 libgit2的原始接口 
  389. 21.8.5 libgit2的安全接口 
  390. 21.9 小結(jié) 
  391. 作者介紹 
  392. 封面介紹 
書名:Rust程序設(shè)計(jì)
譯者:李松峰 譯
國內(nèi)出版社:人民郵電出版社
出版時(shí)間:2020年09月
頁數(shù):476
書號(hào):978-7-115-54649-4
原版書書名:Programming Rust
原版書出版商:O'Reilly Media
Jim Blandy
 
Jim Blandy,Mozilla軟件工程師,擁有近40年編程經(jīng)驗(yàn)和30年自由軟件開發(fā)經(jīng)驗(yàn),是Subversion版本控制系統(tǒng)最初的設(shè)計(jì)者之一,曾在GNU Emacs、GNU Debugger等項(xiàng)目上工作。
 
 
Jason Orendorff
 
Jason Orendorff,GitHub工程師,專注開發(fā)尚未公開的Rust項(xiàng)目,曾在Mozilla參與Java Script引擎SpiderMonkey的開發(fā)。興趣廣泛,包括:語法學(xué)、烘焙、時(shí)間旅行,以及幫助人們理解復(fù)雜主題。
 
 
購買選項(xiàng)
定價(jià):139.00元
書號(hào):978-7-115-54649-4
出版社:人民郵電出版社