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