Rust程式設計思想 Programming with Rust
Donis Marshall 譯 唐剛//陶克勤//張漢東
- 出版商: 機械工業
- 出版日期: 2025-01-01
- 定價: $654
- 售價: 8.5 折 $556
- 語言: 簡體中文
- 頁數: 339
- 裝訂: 平裝
- ISBN: 7111770196
- ISBN-13: 9787111770190
-
相關分類:
Rust 語言
- 此書翻譯自: Programming with Rust
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書主要介紹Rust編程,作為一名資深企業開發人員,作者將Rust編程的相關知識熟練地組織成簡短的章節,讓你能快速上手。
從型別到賦值,再到ownership、lifetimes、traits和crates,
本書先從基礎開始,徹底揭開Rust技術的神秘面紗,讓讀者清楚明白這門語言的魅力所在。
最後,作者還針對單元測試、處理不安全程式碼、與遺留程式碼庫互通以及使用Rust日益強大的工具提供了不可或缺的專家建議。
本書適合對Rust感興趣的所有級別的開發人員閱讀。
目錄大綱
目錄 Contents
譯者序
第1章 Rust簡介 1
1.1 簡介 1
1.1.1 函數式程式設計 2
1.1.2 面向表達式程式設計 3
1.1.3 面向模式程式設計 3
1.2 特性 4
1.2.1 安全性 4
1.2.2 所有權 5
1.2.3 生命週期 5
1.2.4 無畏並發 6
1.2.5 零成本抽象 6
1.3 Rust術語 6
1.4 工具 7
1.5 總結 8
第2章 入門 9
2.1 準備工作 9
2.2 Rust和Windows 10
2.3 安裝Rust 10
2.4 Rustup高級主題 11
2.5 「Hello,World」 11
2.6 編譯並執行 12
2.7 cargo 13
2.8 庫 15
2.9 註釋 17
2.10 crate倉庫 19
2.11 main函數 21
2.12 命令列參數 22
2.13 總結 22
第3章 變量 24
3.1 術語 24
3.2 變量簡介 25
3.3 原生型 25
3.4 整數型 26
3.5 溢出 27
3.6 字面量標註 28
3.7 浮點數型 29
3.8 浮點數常數 29
3.9 無限 30
3.10 NaN 30
3.11 數碼範圍 31
3.12 顯式型別轉換 32
3.13 布爾型 32
3.14 字符 33
3.15 指針 33
3.16 運算子 36
3.17 總結 38
第4章 字串 39
4.1 str 39
4.2 字串簡介 40
4.2.1 長度 41
4.2.2 擴充字串 42
4.2.3 容量 43
4.2.4 存取字串的值 44
4.2.5 字串裡的字符 45
4.2.6 Deref強制轉換 46
4.2.7 格式化的字串 46
4.2.8 實用函數 47
4.3 總結 49
第5章 控制台 51
5.1 輸出 51
5.2 位置參數 52
5.3 變量參數 53
5.4 命名參數 53
5.5 填充、對齊和精度 54
5.6 進制 56
5.7 開發者友善 56
5.8 write!宏 57
5.9 Display trait 58
5.10 Debug trait 59
5.11 format!宏 60
5.12 控制台讀寫 60
5.13 總結 61
第6章 控制流 62
6.1 if表達式 62
6.2 while表達式 65
6.3 for表達式 67
6.4 loop表達式 70
6.4.1 loop break表達式 70
6.4.2 loop標籤 71
6.5 Iterator trait 73
6.6 總結 74
第7章 集合 75
7.1 數組 75
7.1.1 多維數組 77
7.1.2 存取陣列元素 78
7.1.3 切片 79
7.1.4 數組的比較 80
7.1.5 迭代 80
7.1.6 隱式轉換 81
7.2 向量 81
7.2.1 多維向量 83
7.2.2 存取向量元素 83
7.2.3 迭代 84
7.2.4 調整大小 85
7.2.5 容量 85
7.3 HashMap 86
7.3.1 創建一個HashMap 87
7.3.2 訪問HashMap 88
7.3.3 更新條目 88
7.3.4 迭代 89
7.4 總結 90
第8章 所有權 91
8.1 棧內存與堆疊內存 92
8.2 淺拷貝與深拷貝 92
8.3 汽車類比 93
8.4 移動語意 93
8.5 借用 94
8.6 複製語意 95
8.7 Clone trait 95
8.8 用於淺拷貝的Copy trait 96
8.9 用於深拷貝的Clone trait 98
8.10 總結 99
第9章 生命週期 100
9.1 生命週期簡介 101
9.2 函數與生命週期 102
9.3 生命週期標註 104
9.4 生命週期省略 105
9.5 複雜的生命週期 105
9.6 共享生命週期 107
9.7 靜態生命週期 108
9.8 結構體與生命週期 108
9.9 方法與生命週期 109
9.10 子型化生命週期 111
9.11 匿名生命週期 112
9.12 泛型與生命週期 113
9.13 總結 113
第10章 引用 114
10.1 聲明 115
10.2 借用 115
10.3 解引用 116
10.4 所引用的比較 117
10.5 引用標記 118
10.6 所引用的引用 118
10.7 可變性 119
10.8 多重借用的限制 121
10.9 總結 121
第11章 函數 123
11.1 函數定義 124
11.2 參數 124
11.3 函數傳回值 126
11.4 常函數 128
11.5 巢狀函數 129
11.6 函數指標 129
11.7 函數別名 131
11.8 總結 132
第12章 錯誤處理 133
12.1 處理錯誤 134
12.2 Result枚舉 134
12.3 Option枚舉 135
12.4 panic 136
12.4.1 panic!宏 138
12.4.2 處理panic 139
12.5 unwrap 142
12.6 Result和Option的模式
匹配 143
12.7 map 145
12.8 富錯誤 148
12.9 自訂錯誤 148
12.10 總結 150
第13章 結構體 152
13.1 其他初始化方法 155
13.2 移動語意 156
13.3 可變性 157
13.4 方法 157
13.5 self 159
13.6 關聯函數 160
13.7 impl塊 161
13.8 運算子重載 162
13.8.1 一元運算子重載 162
13.8.2 二元運算子重載 163
13.9 元組結構體 165
13.10 總結 167
第14章 泛型 168
14.1 泛型函數 169
14.2 約束 173
14.3 where子句 175
14.4 泛型結構體 176
14.5 關聯函數 180
14.6 枚舉 181
14.7 泛型trait 182
14.8 顯式特化 185
14.9 總結 190
第15章 模式 191
15.1 let語句 191
15.2 通配符 192
15.3 複雜模式 193
15.4 所有權 194
15.5 不可反駁模式 196
15.6 範圍模式 197
15.7 多個模式 198
15.8 控制流 198
15.9 結構體 200
15.10 函數 203
15.11 match表達式 204
15.12 匹配守衛 207
15.13 總結 210
第16章 閉包 211
16.1 「Hello,World」 212
16.2 閉包文法 212
16.3 捕捉變量 213
16.4 閉包作為函數參數 215
16.5 閉包作為函數傳回值 216
16.6 閉包的實現 216
16.6.1 Fn trait 217
16.6.2 FnMut trait 219
16.6.3 FnOnce trait 220
16.6.4 move關鍵字 221
16.6.5 impl關鍵字 222
16.7 矩陣範例 223
16.8 總結 225
第17章 trait 227
17.1 定義trait 228
17.2 默認實作 230
17.3 標記trait 231
17.4 關聯函數 231
17.5 關聯型 233
17.6 擴充方法 235
17.7 完全限定文法 236
17.8 supertrait 239
17.9 靜態分發 242
17.10 動態分發 244
17.11 枚舉和trait 245
17.12 總結 246
第18章 線程1 248
18.1 同步函數呼叫 249
18.2 線程 250
18.3 Thread類型 254
18.4 CPU執行時間 254
18.5 線程Builder 256
18.6 通訊順序進程 257
18.7 異步通道 258
18.8 同步頻道 260
18.9 rendezvous通道 261
18.10 try方法 262
18.11 商店範例 267
18.12 總結 270
第19章 線程2 272
19.1 互斥 272
19.2 非作用域互斥體 275
19.3 互斥體中毒 277
19.4 讀寫鎖 278
19.5 條件變量 280
19.6 原子操作 282
19.6.1 儲存與加載 283
19.6.2 取得與修改 284
19.6.3 比較與交換 285
19.7 總結 286
第20章 內存 287
20.1 棧 287
20.2 靜態值 289
20.3 堆 290
20.4 內部可變性 292
20.5 RefCell 295
20.6 OnceCell 297
20.7 總結 298
第21章 宏 299
21.1 詞條 300
21.2 聲明宏 300
21.2.1 重複構造 303
21.2.2 多個宏匹配器 305
21.3 過程宏 306
21.3.1 派生宏 307
21.3.2 屬性宏 310
21.3.3 類別函數宏 312
21.4 總結 312
第22章 互通性 314
22.1 外部函數接口 315
22.2 基礎範例 316
22.3 libc crate 318
22.4 結構體 319
22.5 bindgen 321
22.6 C呼叫Rust函數 323
22.7 cbindgen 324
22.8 總結 326
第23章 模組 328
23.1 模組項 329
23.1.1 模組檔 332
23.1.2 path屬性 335
23.2 函數與模組 335
23.3 crate、super和self關鍵字 336
23.4 遺留模式 337
23.5 總結 339