Rust 程式設計語言
前言
介紹
1.
入門指南
1.1.
安裝
1.2.
Hello, World!
1.3.
Hello, Cargo!
2.
猜猜看遊戲教學
3.
常見編程概念
3.1.
變數與可變性
3.2.
數據類型
3.3.
函數如何工作
3.4.
注釋
3.5.
控制流
4.
認識所有權
4.1.
什麼是所有權?
4.2.
引用與借用
4.3.
Slices
5.
使用結構體來組織相關聯的數據
5.1.
定義並實例化結構體
5.2.
一個使用結構體的範例程序
5.3.
方法語法
6.
枚舉與模式匹配
6.1.
定義枚舉
6.2.
match 控制流運算符
6.3.
if let 簡潔控制流
7.
使用包、Crate 和模組管理不斷增長的項目
7.1.
包和 crate
7.2.
定義模組來控制作用域與私有性
7.3.
路徑用於引用模組樹中的項
7.4.
使用 use 關鍵字將名稱引入作用域
7.5.
將模組分割進不同文件
8.
常見集合
8.1.
vector
8.2.
字串
8.3.
哈希 map
9.
錯誤處理
9.1.
panic! 與不可恢復的錯誤
9.2.
Result 與可恢復的錯誤
9.3.
panic! 還是不 panic!
10.
泛型、trait 與生命週期
10.1.
泛型數據類型
10.2.
trait:定義共享的行為
10.3.
生命週期與引用有效性
11.
測試
11.1.
編寫測試
11.2.
運行測試
11.3.
測試的組織結構
12.
一個 I/O 項目:構建命令行程序
12.1.
接受命令行參數
12.2.
讀取文件
12.3.
重構以改進模組化與錯誤處理
12.4.
採用測試驅動開發完善庫的功能
12.5.
處理環境變數
12.6.
將錯誤訊息輸出到標準錯誤而不是標準輸出
13.
Rust 中的函數式語言功能:疊代器與閉包
13.1.
閉包:可以捕獲其環境的匿名函數
13.2.
使用疊代器處理元素序列
13.3.
改進之前的 I/O 項目
13.4.
性能比較:循環對疊代器
14.
更多關於 Cargo 和 Crates.io 的內容
14.1.
採用發布配置自訂構建
14.2.
將 crate 發布到 Crates.io
14.3.
Cargo 工作空間
14.4.
使用 cargo install 從 Crates.io 安裝二進位制文件
14.5.
Cargo 自訂擴展命令
15.
智慧指針
15.1.
Box
指向堆上數據,並且可確定大小
15.2.
通過 Deref trait 將智慧指針當作常規引用處理
15.3.
Drop Trait 運行清理代碼
15.4.
Rc
引用計數智慧指針
15.5.
RefCell
與內部可變性模式
15.6.
引用循環與記憶體洩漏是安全的
16.
無畏並發
16.1.
執行緒
16.2.
消息傳遞
16.3.
共享狀態
16.4.
可擴展的並發:Sync 與 Send
17.
Rust 的面向對象編程特性
17.1.
面向對象語言的特點
17.2.
為使用不同類型的值而設計的 trait 對象
17.3.
面向對象設計模式的實現
18.
模式用來匹配值的結構
18.1.
所有可能會用到模式的位置
18.2.
Refutability:何時模式可能會匹配失敗
18.3.
模式的全部語法
19.
高級特徵
19.1.
不安全的 Rust
19.2.
高級 trait
19.3.
高級類型
19.4.
高級函數與閉包
19.5.
宏
20.
最後的項目: 構建多執行緒 web server
20.1.
單執行緒 web server
20.2.
將單執行緒 server 變為多執行緒 server
20.3.
優雅停機與清理
21.
附錄
21.1.
A - 關鍵字
21.2.
B - 運算符與符號
21.3.
C - 可派生的 trait
21.4.
D - 實用開發工具
21.5.
E - 版本
21.6.
F - 本書譯本
21.7.
G - Rust 是如何開發的與 “Nightly Rust”
Light (default)
Rust
Coal
Navy
Ayu
Rust 程式設計語言 繁體中文版
附錄
appendix-00.md
commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
附錄部分包含一些在你的 Rust 之旅中可能用到的參考資料。