資料建模
有了所有權的基礎,就可以開始設計自己的資料型別。Rust 用 struct 表示「同時擁有多個欄位」,用 enum 表示「可能是幾種情況之一」,再搭配字串與集合型別處理實際的資料。
本分類內容
| 頁面 | 你會學到 |
|---|---|
| 結構體與方法 | 定義 struct、用 impl 加上方法與關聯函式、#[derive(Debug)] |
| 列舉與模式比對 | enum、Option、match、if let |
| 字串與集合 | String 與 &str、Vec<T>、HashMap<K, V> |
設計時的思考方式
| 想表達的事情 | 使用 |
|---|---|
| 「同時有 A 和 B 和 C」 | struct |
| 「不是 A 就是 B 或 C」 | enum |
| 「可能有值,也可能沒有」 | Option<T>(Rust 沒有 null) |
| 「一串同型別的資料」 | Vec<T> |
| 「用鍵查值」 | HashMap<K, V> |
先從 結構體與方法 開始。