注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計Rust編程:入門、實戰(zhàn)與進階

Rust編程:入門、實戰(zhàn)與進階

Rust編程:入門、實戰(zhàn)與進階

定 價:¥89.00

作 者: 朱春雷 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111679103 出版時間: 2021-04-01 包裝: 平裝
開本: 16開 頁數(shù): 316 字數(shù):  

內(nèi)容簡介

  這是一部注重編碼能力訓(xùn)練的實戰(zhàn)性著作,既能幫助讀者扎實掌握Rust的主要語法知識并具備實戰(zhàn)能力,又能指導(dǎo)讀者快速從初學(xué)者晉級為高手。全書秉持學(xué)以致用的原則:一方面,沒有事無巨細地羅列Rust的每一個語法知識點,但是常用知識點和重要知識點悉數(shù)囊括;一方面,將各種常見數(shù)據(jù)結(jié)構(gòu)和算法與Rust編程實戰(zhàn)相結(jié)合,同時精選39道LeetCode高頻算法面試題,幫助讀者快速語法知識固化為實戰(zhàn)能力。全書共15章,分為3個部分:第1部分(第1~11章) Rust編程必備語法 非常有針對性地講解了Rust的常用語法,由淺入深,循序漸進,能幫助讀者快速掌握Rust的必備語法知識并具備基本的編程能力第二部分(第12~13章) Rust編碼能力訓(xùn)練 將數(shù)組、棧、隊列、哈希表、鏈表、樹等實用的數(shù)據(jù)結(jié)構(gòu)和遞歸、分治、回溯、二分查找、深度優(yōu)先搜索、廣度優(yōu)先搜索、排序、動態(tài)規(guī)劃等常用算法與Rust編程實戰(zhàn)結(jié)合,并精選39道LeetCode高頻算法面試真題,幫助讀者將語法知識轉(zhuǎn)化為編程實戰(zhàn)能力。第三部分(第14~15章) Rust綜合進階實戰(zhàn) 以排序算法為主題,圍繞功能拓展和性能拓展兩條主線,結(jié)合工程管理、泛型、trait系統(tǒng)、高階函數(shù)、閉包、迭代器、單元測試、多線程并發(fā)和異步并發(fā)等重要的語法知識點進行綜合實戰(zhàn)訓(xùn)練,進一步在實戰(zhàn)中提升編程水平。

作者簡介

  朱春雷,北京大學(xué)軟件工程碩士,資深Rust技術(shù)專家和區(qū)塊鏈技術(shù)專家,有10年以上軟件開發(fā)經(jīng)驗。 Web3meta Labs創(chuàng)始人兼首席技術(shù)官,Polkadot(波卡)技術(shù)大使,熟悉區(qū)塊鏈技術(shù)框架Substrate開發(fā)。Web3meta Labs致力于為Ethereum、Polkadot等領(lǐng)先的區(qū)塊鏈項目打造基礎(chǔ)設(shè)施。

圖書目錄

【語言基礎(chǔ)篇】

●第1章 初識Rust2
1.1 Rust語言簡介2
1.2 搭建編程環(huán)境3
1.3 Hello Rust4
1.4 Hello Cargo5
1.5 本章小結(jié)7

●第2章 變量與數(shù)據(jù)類型8
2.1 變量和可變性8
2.1.1 變量聲明8
2.1.2 變量的可變性9
2.1.3 變量遮蔽9
2.1.4 常量10
2.2 基本數(shù)據(jù)類型11
2.2.1 整數(shù)類型11
2.2.2 浮點數(shù)類型12
2.2.3 布爾類型12
2.2.4 字符類型12
2.2.5 范圍類型12
2.3 復(fù)合數(shù)據(jù)類型13
2.3.1 元組類型13
2.3.2 數(shù)組類型14
2.3.3 結(jié)構(gòu)體類型15
2.3.4 枚舉類型17
2.4 容器類型18
2.4.1 Vec18
2.4.2 VecDeque21
2.4.3 HashMap25
2.5 字符串28
2.5.1 字符串的創(chuàng)建29
2.5.2 字符串的修改29
2.5.3 字符串的訪問32
2.6 字面量和運算符34
2.6.1 字面量34
2.6.2 運算符34
2.7 本章小結(jié)35

●第3章 流程控制37
3.1 條件判斷37
3.1.1 if條件判斷37
3.1.2 if-else條件判斷38
3.1.3 if-else if-else條件判斷38
3.2 循環(huán)39
3.2.1 loop循環(huán)39
3.2.2 while循環(huán)40
3.2.3 for循環(huán)40
3.2.4 continue和break語句41
3.3 match模式匹配41
3.4 if let和while let模式匹配42
3.5 本章小結(jié)43

●第4章 函數(shù)、閉包與迭代器44
4.1 函數(shù)44
4.1.1 定義函數(shù)44
4.1.2 方法和函數(shù)46
4.1.3 高階函數(shù)47
4.2 閉包50
4.2.1 基本語法50
4.2.2 類型推斷50
4.2.3 捕獲環(huán)境變量51
4.3 迭代器51
4.3.1 Iterator trait52
4.3.2 消費器52
4.3.3 迭代器適配器54
4.4 本章小結(jié)56

●第5章 類型系統(tǒng)57
5.1 泛型57
5.1.1 泛型與容器57
5.1.2 泛型與結(jié)構(gòu)體58
5.1.3 泛型與枚舉60
5.1.4 泛型與函數(shù)61
5.1.5 泛型與方法61
5.2 trait系統(tǒng)62
5.2.1 trait定義與實現(xiàn)62
5.2.2 trait作為參數(shù)63
5.2.3 返回實現(xiàn)trait的類型66
5.2.4 標(biāo)準庫常用trait66
5.3 類型轉(zhuǎn)換71
5.3.1 原生類型間的轉(zhuǎn)換71
5.3.2 數(shù)字與String類型間的轉(zhuǎn)換72
5.3.3 &str與String類型間的轉(zhuǎn)換73
5.4 本章小結(jié)73

●第6章 所有權(quán)系統(tǒng)74
6.1 通用概念74
6.1.1 棧內(nèi)存與堆內(nèi)存74
6.1.2 值語義與引用語義75
6.1.3 復(fù)制語義與移動語義75
6.2 所有權(quán)機制76
6.2.1 變量綁定76
6.2.2 所有權(quán)轉(zhuǎn)移77
6.2.3 淺復(fù)制與深復(fù)制81
6.3 引用和借用83
6.3.1 引用與可變引用83
6.3.2 借用規(guī)則87
6.3.3 借用示例1:切片88
6.3.4 借用示例2:迭代器90
6.4 生命周期92
6.4.1 生命周期語法92
6.4.2 懸垂引用94
6.4.3 生命周期與函數(shù)96
6.4.4 生命周期與結(jié)構(gòu)體98
6.4.5 生命周期省略規(guī)則100
6.5 本章小結(jié)100

●第7章 智能指針102
7.1 獨占所有權(quán)的Box102 7.1.1 Box在堆上存儲數(shù)據(jù)102 7.1.2 Deref解引用103
7.1.3 Drop清理資源104
7.2 共享所有權(quán)的Rc105 7.3 應(yīng)對內(nèi)部可變性的RefCell106 7.4 本章小結(jié)108

●第8章 并發(fā)編程109
8.1 多線程并發(fā)109
8.1.1 線程管理110
8.1.2 線程池114
8.2 異步并發(fā)115
8.2.1 async/.await語法115
8.2.2 async-std庫117
8.3 本章小結(jié)119

●第9章 錯誤處理120
9.1 Result120 9.1.1 高效處理Result121 9.1.2 處理不同類型的錯誤122
9.1.3 傳播錯誤123
9.2 Panic125
9.2.1 追蹤Panic125
9.2.2 捕獲Panic126
9.3 本章小結(jié)127

●第10章 模塊化編程128
10.1 crate管理128
10.1.1 使用Cargo創(chuàng)建crate129
10.1.2 使用第三方crate129
10.2 module系統(tǒng)130
10.2.1 定義模塊130
10.2.2 創(chuàng)建多文件模塊131
10.2.3 多文件模塊的層級關(guān)系132
10.2.4 模塊的可見性133
10.2.5 使用use導(dǎo)入模塊135
10.2.6 模塊的路徑136
10.2.7 使用pub use重導(dǎo)出136
10.2.8 加載外部crate137
10.3 本章小結(jié)138

●第11章 單元測試139
11.1 單元測試框架139
11.2 編寫測試140
11.2.1 使用assert!140
11.2.2 使用assert_eq!和assert_ne!141
11.2.3 自定義失敗信息142
11.3 運行測試143
11.3.1 運行部分測試144
11.3.2 忽略某些測試145
11.4 本章小結(jié)146

【編程能力訓(xùn)練篇】

●第12章 數(shù)據(jù)結(jié)構(gòu)實戰(zhàn)148
12.1 數(shù)組148
12.1.1 移動零149
12.1.2 加一156
12.1.3 刪除排序數(shù)組中的重復(fù)項158
12.2 棧與隊列159
12.2.1 最小棧160
12.2.2 有效的括號163
12.2.3 滑動窗口最大值165
12.3 哈希表168
12.3.1 兩數(shù)之和170
12.3.2 有效的字母異位詞172
12.3.3 字母異位詞分組174
12.4 鏈表179
12.4.1 反轉(zhuǎn)鏈表182
12.4.2 鏈表的中間節(jié)點183
12.4.3 合并兩個有序鏈表185
12.4.4 刪除鏈表的倒數(shù)第n個節(jié)點187
12.5 樹191
12.5.1 二叉樹的前序遍歷195
12.5.2 二叉樹的中序遍歷199
12.5.3 二叉樹的后序遍歷202
12.5.4 二叉樹的層次遍歷206
12.5.5 二叉搜索樹中的插入操作208
12.6 本章小結(jié)211

●第13章 算法實戰(zhàn)213
13.1 遞歸、分治與回溯213
13.1.1 pow(x, n)216
13.1.2 爬樓梯218
13.1.3 括號生成220
13.1.4 子集222
13.1.5 組合224
13.1.6 N皇后227
13.2 二分查找230
13.2.1 搜索旋轉(zhuǎn)排序數(shù)組231
13.2.2 尋找旋轉(zhuǎn)排序數(shù)組中的最小值232
13.2.3 有效的完全平方數(shù)235
13.3 深度與廣度優(yōu)先搜索236
13.3.1 二叉樹的最大深度239
13.3.2 二叉樹的最小深度242
13.3.3 二叉搜索樹中的搜索244
13.4 排序算法246
13.4.1 數(shù)組中的第k個最大元素257
13.4.2 合并區(qū)間259
13.4.3 翻轉(zhuǎn)對261
13.5 動態(tài)規(guī)劃264
13.5.1 爬樓梯265
13.5.2 最小路徑和267
13.5.3 三角形最小路徑和269
13.5.4 零錢兌換270
13.5.5 最長上升子序列273
13.5.6 編輯距離274
13.6 本章小結(jié)277

【綜合實戰(zhàn)篇】
●第14章 泛型與高階函數(shù)實戰(zhàn)280
14.1 工程管理280
14.2 泛型編程281
14.2.1 插入排序算法282
14.2.2 加載算法庫284
14.2.3 結(jié)構(gòu)體實例排序285
14.3 高階函數(shù)編程287
14.3.1 排序算法庫287
14.3.2 生成隨機數(shù)據(jù)291
14.3.3 排序算法API庫292
14.4 本章小結(jié)295
●第15章 并發(fā)編程實戰(zhàn)296
15.1 多線程并發(fā)296
15.2 異步并發(fā)298
15.2.1 排序算法庫的異步實現(xiàn)298
15.2.2 排序算法API庫的異步實現(xiàn)302
15.2.3 創(chuàng)建可執(zhí)行程序303
15.3 本章小結(jié)305

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號