Rust程序設計(初級篇)

[加]鄭宇、黃立群、[加]沈剛、黃曉濤、全麗莉

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • ISBN: 7302684324
  • ISBN-13: 9787302684329
  • 相關分類: Rust 語言程式語言
  • 下單後立即進貨 (約4週~6週)

  • Rust程序設計(初級篇)-preview-1
  • Rust程序設計(初級篇)-preview-2
  • Rust程序設計(初級篇)-preview-3
Rust程序設計(初級篇)-preview-1

相關主題

商品描述

"本書首先介紹了Rust語言的歷史、特點、與其他編程語言的優缺點對比,以及可能的應用領域,並詳細講解了Rust安裝編譯的基本流程、基本命令和各種與Rust編程相關的準備工作。然後,對於想開始學習Rust編程語言的讀者,本書繼續介紹Rust編程語言的基礎知識,諸如關鍵字、基本類型、基本語句、變量、運算符以及各種錯誤處理和測試手段。針對每個應用領域,本書用實例演示如何從零開始編寫實用例子。 本書的另一個重要原則是邊學習、邊實踐。在每一個學習階段,除了引入豐富的例子講解Rust語言的基本要點以外,還編寫了專門的章節,說明如何利用已學習的知識來編寫簡單實用的Rust小程序,綜合演示Rust語言的使用方法。 本書配套教學資源包括PPT、樣例代碼、視頻以及外部資源鏈接,可供讀者進一步學習使用。"

目錄大綱

目錄

介紹篇

第1章Rust簡介

1.1為什麽要學習Rust

1.1.1內存安全

1.1.2效率

1.1.3實用性

1.2Rust語言簡介

1.3Rust語言應用展望

1.3.1區塊鏈

1.3.2操作系統

1.3.3嵌入式

1.3.4存儲

1.3.5隱私計算/編譯器

1.4Rust的缺點

1.5如何快速學習Rust

1.5.1通過關註學習

1.5.2通過動手學習

1.5.3通過閱讀學習

1.5.4通過傳授學習

第2章Rust編程準備工作

2.1Linux下Rust編程環境

2.1.1Rust編譯器的下載安裝

2.1.2驗證

2.1.3設置代理

2.2Windows下編程環境

2.3在線Rust編譯器

2.4Rust編譯器分支

2.5Rust編譯器版本策略

2.6rustc編譯命令

2.7Rust編譯器管理工具rustup

2.7.1更新rustup自身

2.7.2工具鏈相關

2.7.3用rustup安裝組件

2.7.4rustup常用命令

2.8Rust調試

2.8.1命令行調試

2.8.2可視化調試

2.9Rust標準庫

2.10Rust編程的漢字處理

2.11Rust知識點圖譜

第3章Cargo項目管理與編譯

3.1項目結構

3.2Cargo的配置文件

3.2.1Cargo.toml

3.2.2Cargo.lock

3.2.3Cargo.lock vs Cargo.toml

3.3依賴包

3.4開發時依賴包

3.5Cargo目標對象

3.5.1庫對象

3.5.2二進制對象

3.5.3示例對象

3.5.4測試對象

3.5.5基準性能對象

3.5.6配置一個對象

3.6package表

3.7patch表

3.8常用的cargo的命令

3.9擴展cargo命令

3.10特徵

3.11profile

3.11.1默認profile

3.11.2自定義profile

3.11.3重寫profile

3.12工作空間

3.13Cargo的使用

3.13.1Cargo系統目錄

3.13.2Cargo清除緩存

3.13.3構建時卡住

3.13.4target目錄結構

3.14config.toml進行Cargo配置

3.15構建腳本

3.15.1builddependencies

3.15.2build.rs

3.15.3構建腳本的生命周期

3.15.4構建腳本的輸出

3.15.5構建腳本的依賴

3.15.6覆蓋構建腳本

3.16如何組織Rust項目

3.16.1Rust中項目組織的重要性

3.16.2模塊、crate和工作空間

3.16.3模塊: 代碼組織的邏輯單元

3.16.4crate: 可重用的庫或可執行文件

3.16.5創建和管理crate

3.16.6工作空間

3.16.7項目組織工具

3.16.8慣例和最佳實踐

3.16.9持續集成

3.16.10試運行

3.16.11覆蓋率報告和代碼質量指標

3.16.12持續改進的重要性

3.17復雜例子

基礎篇

第4章編程基礎

4.1堆和棧

4.2基本數據類型

4.2.1整型

4.2.2布爾類型

4.2.3字符類型

4.2.4浮點類型

4.3字面量

4.3.1數字字面量

4.3.2字符串字面量

4.3.3字符字面量

4.4元組

4.4.1元組聲明

4.4.2元組解構

4.4.3元組索引

4.4.4元組使用

4.4.5特殊情況

4.5範圍類型

4.6結構

4.6.1具名結構體

4.6.2元組類型結構體

4.6.3空結構體

4.6.4結構可見性

4.6.5結構/字段的可變性

4.6.6其他

4.7枚舉

4.7.1C風格的枚舉類型

4.7.2帶數據的枚舉類型

4.7.3混合類型的枚舉類型

4.7.4枚舉的內存佈局

4.7.5代數數據類型

4.8數組、切片和向量

4.8.1數組

4.8.2向量

4.8.3切片

4.9字符串

4.9.1字符串切片

4.9.2字符串

4.9.3字節字符串

4.9.4其他字符串類型

4.9.5各種字符串類型之間轉換

4.9.6寫時復制

4.9.7字符串相關操作

4.10變量和可變性

4.10.1變量綁定

4.10.2變量

4.10.3可變性

4.10.4變量的作用域和遮蔽

4.10.5常量和靜態全局變量

4.10.6別名

4.10.7類型轉換

4.10.8零長度類型

4.11控制語句

4.11.1分支語句match

4.11.2條件語句if

4.11.3循環語句

4.11.4if/let while

4.12函數

4.12.1提早返回

4.12.2發散函數

4.12.3遞歸函數

4.12.4函數指針和函數作為參數

4.12.5函數嵌套

4.12.6方法

4.12.7函數作為返回值

4.12.8常量函數

4.12.9函數和閉包參數做模式解構

4.12.10其他

4.13註釋

4.14運算符

4.14.1一元操作符

4.14.2二元操作符

4.14.3優先級

4.15impl代碼塊

4.15.1使用impl給結構定義方法

4.15.2使用impl給枚舉定義方法

4.16程序的內存表現

4.17文件操作

4.17.1文本文件

4.17.2二進制文件

4.17.3文件路徑

4.17.4搜索指定擴展名的文件

4.17.5壓縮文件

4.18Rust標準庫

4.18.1Rust標準庫的特點

4.18.2Rust標準庫模塊

4.19其他

4.19.1下畫線

4.19.2字符串格式化輸出

4.19.3Rust類型清單

4.19.4Rust保留字

4.19.5其他

第5章錯誤處理

5.1對象解封

5.2Expect()

5.3Option類型

5.4Result類型

5.5訪問和變換Option和Result類型

5.5.1用map替換match

5.5.2邏輯組合子

5.5.3在Option和Result類型之間互相轉換

5.6try!宏

5.7panic!宏

5.8From trait

5.9問號(?)操作符

5.10Carrier Trait

5.11自定義錯誤類型

5.12Error Crates

5.12.1failure crate

5.12.2snafu crate

5.12.3anyhow crate

5.12.4thiserror crate

5.13Main函數中的錯誤返回

5.14錯誤傳遞

5.15函數中處理多種錯誤類型

5.16處理特定的錯誤類型

5.17總結

第6章日誌和測試

6.1單元測試

6.1.1單元測試

6.1.2斷言宏

6.1.3#[should_panic]屬性

6.2集成測試

6.2.1Library crate的集成測試

6.2.2二進制crate的集成測試

6.2.3定義集成入口

6.2.4有選擇地執行集成測試案例

6.3文檔測試

6.3.1自動生成程序文檔

6.3.2編寫程序文檔

6.3.3運行文檔中的測試代碼

6.4性能測試

6.4.1nightly分支下的性能測試

6.4.2stable分支下的性能測試

6.4.3其他

6.5日誌

6.5.1日誌宏

6.5.2日誌記錄器

6.5.3非結構化/結構化日誌

6.5.4常用用法

6.5.5日誌相關的環境變量

6.6日誌監控

6.7復雜樣例

第7章基礎篇總結

7.1命令行程序

7.1.1命令行參數解析

7.1.2命令行程序的輸入/輸出

7.2環境變量讀寫

7.2.1讀取操作系統環境變量

7.2.2讀取環境配置文件

7.3文件讀寫

7.3.1Json文件讀寫

7.3.2Yaml文件讀寫

7.3.3Toml文件讀寫

7.4進程

7.4.1生成子進程

7.4.2終止進程

7.4.3進程信號處理

7.5正則表達式

7.6時間相關

7.6.1標準庫的Time crate

7.6.2chrono crate

7.6.3自定義性能測試

7.7區塊鏈相關

7.7.1比特幣公私鑰生成

7.7.2比特幣地址生成

7.7.3keystore文件

7.7.4密碼學應用

7.8錯誤處理

7.8.1版本1

7.8.2版本2

附錄詞匯表