Rust 實戰:從入門到精通 (Beginning Rust: From Novice to Professional)
Carlo Milanesi
- 出版商: 機械工業
- 出版日期: 2021-06-01
- 定價: $594
- 售價: 8.5 折 $505
- 語言: 簡體中文
- 頁數: 300
- 裝訂: 平裝
- ISBN: 7111683676
- ISBN-13: 9787111683674
-
相關分類:
Rust 語言
- 此書翻譯自: Beginning Rust: From Novice to Professional
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
CODE COMPLETE:軟體開發實務指南, 2/e (中文版) (Code Complete: A Practical Handbook of Software Construction, 2/e)$1,280$998 -
$607Rust 編程之道 -
$474大型網站性能優化實戰:從前端、網絡、CDN 到後端、大促的全鏈路性能優化詳解 -
軟件架構設計:大型網站技術架構與業務架構融合之道$474$450 -
21世紀 C語言, 2/e (21st Century C: C Tips from the New School, 2/e)$680$537 -
程式設計師從零開始邁向架構師之路$650$514 -
圖解網路的運作機制$380$300 -
Effective TypeScript 中文版|提昇 TypeScript 技術的 62個具體作法 (Effective TypeScript)$580$458 -
$454Go語言高併發與微服務實戰 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
$534算法與數據中台:基於 Google、Facebook 與微博實踐 -
深入淺出 Go (Head First Go)$880$695 -
中臺架構與實現:基於 DDD 和微服務$534$507 -
提升程式設計師的面試力|189道面試題目與解答, 6/e (修訂版) (Cracking the Coding Interview : 189 Programming Questions and Solutions, 6/e)$980$774 -
$454Go 微服務實戰 -
$352軟件架構設計 : 程序員向架構師轉型必備, 2/e -
$454Rust 編程:入門、實戰與進階 -
$327深入理解 RISC-V 程序開發 -
內行人才知道的系統設計面試指南$580$458 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
Mapping Experiences 看得見的經驗, 2/e (Mapping Experiences: A Complete Guide to Customer Alignment Through Journeys, Blueprints, and Diagrams, 2/e)$780$616 -
Web 應用系統安全|現代 Web 應用程式開發的資安對策 (Web Application Security)$580$458 -
Metadata 後設資料:精準搜尋、一找就中,數據就是資產!教你活用「描述資料的資料」,加強資訊的連結和透通$420$332 -
$469算法 — 數學應用與競賽案例解析
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書可幫助讀者學會在Unix、Linux shell、MacOS和Windows命令行上以輕鬆、
循序漸進的方式使用Rust進行編程,引導讀者全面瞭解Rust提供的功能。
本書從Rust的基礎開始講解,包括如何命名對象、控制執行流和處理基本類型。
你將瞭解如何進行算術運算、分配內存、使用疊代器以及處理輸入/輸出。
掌握了這些核心技能後,你將很快就能用Rust處理錯誤並使用Rust的面向對象特性構建強大的Rust應用程序。
本書對初學者非常友好,只需瞭解基本的編程知識——最好是有C或C++的基礎知識,就可以完成本書的學習。
而且,要充分理解本書,只需知道什麼是整數和浮點數,以及能夠區分標識符和字符串就可以了。
通過閱讀本書,你將能夠:
● 開始使用Rust進行編程
● 瞭解各種數據結構和數據序列
● 定義函數、泛型函數和結構等
● 處理閉包、可變字符串、範圍和切片
● 使用trait並瞭解生命週期
作者簡介
Carlo Milanesi
Rust專家和專業軟件開發人員。
他是Rust開發社區的貢獻者,也曾使用PHP、JavaScript、Java、Ionic和Vaadin框架基於Linux的Web應用程序開發。
他還涉獵了其他技術,包括GUI設計、2D和3D渲染、測試自動化、數據庫訪問等。
他畢業於米蘭大學,曾在金融和計算機輔助製造行業工作。
目錄大綱
目錄
第1章 終端打印1
1.1 如何開始1
1.2 Hello,world!2
1.3 打印字面量字符串的組合3
1.4 打印多行文本4
1.5 打印整數5
1.6 命令行腳本6
1.7 註釋6
第2章 算術運算8
2.1 整數加法8
2.2 整數之間的其他運算9
2.3 浮點運算10
2.4 語句序列11
2.5 分斷字面量字符串12
第3章 命名對象14
3.1 將名稱與值相關聯14
3.2 可變變量16
3.3 未變化的可變變量17
3.4 未初始化的變量18
3.5 前導下劃線19
3.6 布爾值20
3.7 布爾表達式22
3.8 賦值中的類型一致性23
3.9 類型和可變性的改變24
3.10 賦值算術運算符25
3.11 使用標準庫的函數25
第4章 控制執行流27
4.1 條件語句(if)27
4.2 條件表達式29
4.3 條件循環(while)30
4.4 無限循環(loop)32
4.5 計數循環(for)33
4.6 變量作用域34
第5章 使用數據序列37
5.1 數組37
5.1.1 可變量組39
5.1.2 指定大小的數組40
5.1.3 多維數組41
5.2 向量42
5.3 空數組和空向量45
5.4 調試打印46
5.5 複製數組和向量47
第6章 使用基本類型48
6.1 非十進制數字基數48
6.2 數字字面量中的下劃線50
6.3 指數表示法50
6.4 各種有符號整數51
6.5 無符號整數類型53
6.6 目標相關的整數類型54
6.7 類型推斷55
6.8 浮點數值類型57
6.9 顯式轉換58
6.10 數字字面量的類型後綴59
6.11 所有數值類型60
6.12 布爾值和字符61
6.13 空元組62
6.14 數組和向量類型63
6.15 常數64
6.16 發現表達式的類型64
第7章 枚舉情況66
7.1 枚舉66
7.2 match構造68
7.3 關係運算符和枚舉69
7.4 處理所有情況70
7.4.1 對數字使用match71
7.4.2 數據枚舉72
7.4.3 “match”表達式74
7.4.4 在match結構中使用守衛75
第8章 使用異構數據結構76
8.1 元組76
8.2 結構77
8.3 元組結構80
8.4 詞法約定80
第9章 定義函數82
9.1 定義和調用函數82
9.1.1 使用後定義的函數83
9.1.2 函數屏蔽其他函數83
9.1.3 將參數傳遞給函數85
9.1.4 按值傳遞參數86
9.2 從函數返回值86
9.2.1 提前退出87
9.2.2 返回多個值89
9.3 如何更改屬於調用者的變量90
9.4 通過引用傳遞參數91
9.4.1 使用引用92
9.4.2 引用的可變性93
第10章 定義泛型函數和結構95
10.1 對泛型函數的需求95
10.2 定義和使用泛型函數96
10.3 推斷參數類型97
10.4 定義和使用泛型結構98
10.4.1 泛型機制99
10.4.2 泛型數組和向量101
10.4.3 泛型枚舉101
10.5 錯誤處理103
10.6 枚舉標準實用程序函數104
第11章 分配內存106
11.1 各種分配106
11.1.1 線性尋址107
11.1.2 靜態分配108
11.1.3 棧分配109
11.1.4 堆分配114
11.2 與C和C++的相似性117
11.3 裝箱與拆箱117
11.4 寄存器分配119
第12章 數據實現120
12.1 探索對象的大小120
12.1.1 use指令121
12.1.2 基本類型的大小122
12.2 基本類型的表示122
12.3 字節在內存中的位置123
12.4 複合數據類型的大小125
12.5 向量分配125
第13章 定義閉包128
13.1 對“一次性”函數的需求128
13.2 捕獲環境129
13.3 閉包130
13.4 其他例子132
第14章 使用可變字符串134
14.1 靜態字符串134
14.2 動態字符串136
14.3 字符串的實現137
14.4 創建字符串139
14.5 連接字符串140
第15章 範圍和切片142
15.1 範圍142
15.2 將序列傳遞給函數144
15.3 切片145
15.4 切片操作147
15.5 超出範圍的切片149
15.6 可變切片149
15.7 開放式範圍和切片操作150
第16章 使用疊代器152
16.1 字符串字符152
16.2 掃描字符串153
16.3 在for循環中使用疊代器155
16.3.1 不可變的疊代157
16.3.2 可變的疊代158
16.4 疊代器適配器:filter161
16.4.1 map疊代器適配器162
16.4.2 enumerate疊代器適配器163
16.5 疊代器消費者:any164
16.5.1 all疊代器消費者166
16.5.2 count疊代器消費者166
16.5.3 sum疊代器消費者166
16.5.4 min和max疊代器消費者167
16.5.5 collect消費者168
16.6 疊代器鏈169
16.7 疊代器是“惰性的”170
第17章 輸入/輸出和錯誤處理方式172
17.1 命令行參數172
17.2 進程返回碼173
17.3 環境變量173
17.4 從控制臺讀取174
17.5 正確的運行時錯誤處理176
17.6 寫入控制臺179
17.7 將值轉換為字符串179
17.8 文件輸入/輸出180
17.9 處理文本文件182
第18章 使用trait184
18.1 對trait的需求184
18.2 trait的補救186
18.3 沒有trait界限的泛型函數188
18.4 trait作用域189
18.5 多函數trait190
18.6 方法192
18.7 "self"和"Self"關鍵字194
18.8 標準trait196
18.8.1 "Iterator" trait197
18.8.2 "type"關鍵字199
18.8.3 泛型trait200
18.8.4 使用關聯類型簡化泛型trait使用203
18.8.5 "Iterator"標準trait聲明206
18.9 使用泛型疊代器208
第19章 面向對象程序設計210
19.1 固有實現210
19.2 Rust面向對象的特殊性213
19.3 可變方法216
19.4 構造函數217
19.5 組合而不是繼承218
19.6 組合的內存使用情況220
19.6.1 靜態分發221
19.6.2 動態分發223
19.6.3 trait引用的實現224
19.6.4 靜態分發與動態分發226
第20章 標準庫集合228
20.1 集合228
20.2 測量執行時間229
20.3 執行任意插入和移除230
20.4 隊列231
20.5 鍊錶234
20.6 二叉堆235
20.7 有序集和無序集236
20.8 有序字典和無序字典239
20.9 C++和Rust中的集合240
第21章 丟棄、移動和復制241
21.1 確定性析構241
21.2 所有權243
21.3 析構函數244
21.4 賦值語義248
21.4.1 複製與移動性能對比250
21.4.2 移動和銷毀對象252
21.4.3 對複制語義的需要254
21.4.4 克隆對象255
21.4.5 使類型可克隆或可複制257
第22章 借用和生命週期259
22.1 所有權和借用259
22.2 對像生命週期260
22.3 關於借用的錯誤262
22.3.1 如何防止“丟棄後使用”錯誤264
22.3.2 如何防止“別名更改後使用”錯誤265
22.4 多重借用的可能情況266
22.5 使用塊來限制借用作用域268
22.6 返回引用對生命週期說明符的需求269
22.6.1 生命週期說明符的用法和意義271
22.6.2 檢查生命週期說明符的有效性273
22.6.3 使用調用函數的生命週期說明符276
第23章 關於生命週期的更多信息279
23.1 生命週期省略279
23.2 面向對象編程的生命週期省略280
23.3 結構對生命週期說明符的需要281
23.4 可能的結構生命週期說明符283
23.5 生命週期說明符的其他用途285
