所有權
所有權(ownership)是 Rust 最獨特、也最重要的功能。它讓 Rust 不需要垃圾回收(GC),也不需要手動 free,就能安全地管理記憶體。學會這個分類,你就通過了 Rust 最大的一道門檻。
核心想法
Rust 用三個互相搭配的觀念管理資源:
| 觀念 | 一句話說明 | 頁面 |
|---|---|---|
| 所有權 | 每個值都有唯一的擁有者,擁有者離開作用域,值就被釋放 | 所有權與移動 |
| 借用 | 不取走所有權,只用參照暫時使用值 | 借用與參照 |
| 生命週期 | 編譯器確保參照不會比被參照的值活得更久 | 生命週期 |
這些規則全部在編譯時檢查,執行時沒有額外成本。一旦通過編譯,就不會出現懸空指標、重複釋放(double free)或資料競爭。
建議的閱讀方式
- 依序讀完三頁,每頁的程式碼都建議親手在 Rust Playground 試一次。
- 刻意製造編譯錯誤,觀察錯誤訊息。Rust 的訊息通常會直接指出問題與修正方向。
- 遇到卡關,先用
.clone()或改成擁有資料的型別讓程式跑起來,再回頭優化。
推薦影音
堆疊、堆積與靜態記憶體
簡述:Let's Get Rusty 說明程式如何配置記憶體,是理解所有權「為什麼存在」的背景知識,建議先看。
下一步:從 所有權與移動 開始。