Skip to content

建立 2026-09-08 更新 2026-09-19

認識 Rust

想寫出跟 C/C++ 一樣快、卻不容易出現記憶體錯誤的程式?Rust 就是為此而生的語言。

Rust 是一門編譯成原生機器碼的系統程式語言。它沒有垃圾回收(garbage collector, GC),卻能在編譯階段就擋下懸空指標(dangling pointer)、資料競爭(data race)等常見錯誤。代價是需要先理解它獨特的「所有權」規則,本站就是為了幫你用最短的路徑通過這一關。

為什麼學 Rust?

  • 記憶體安全


    編譯器檢查所有權與借用,不需要 GC 也能避免大多數記憶體錯誤。

  • 效能接近 C/C++


    直接編譯成機器碼,抽象化(如迭代器、泛型)不會帶來額外的執行期成本。

  • 現代化工具鏈


    Cargo 管理專案與套件,內建格式化、測試、文件與靜態檢查(clippy)。

  • 應用範圍廣


    命令列工具、網路服務、WebAssembly、嵌入式與系統軟體都常見。

最必須了解的 20%

Rust 的語法並不特別難,難的是所有權這個觀念。我認為最值得優先學會的 20%,是「一個核心,加上三組各四個重點」:

核心:三個所有權觀念

觀念 一句話說明 詳見
所有權(ownership) 每個值只有一個擁有者,擁有者離開作用域就釋放資源 所有權與移動
借用(borrowing) 用參照(&T&mut T)暫時使用值,而不取走它 借用與參照
生命週期(lifetime) 編譯器用來確保參照不會比它指向的值活得更久 生命週期

第一組:四個常用型別

型別 用途 詳見
數值與 boolchar 整數(i32)、浮點數(f64)、布林、字元 變數與資料型別
String&str 擁有的字串與字串切片 字串與集合
Vec<T> 可成長的陣列 字串與集合
HashMap<K, V> 鍵值對照表 字串與集合

第二組:四個建模工具

工具 用途 詳見
struct 把相關欄位組成一個型別,並用 impl 加上方法 結構體與方法
enum 表示「可能是幾種情況之一」,搭配 match 處理 列舉與模式比對
trait 定義共通行為,相當於其他語言的介面 泛型與 Trait
泛型(generics) 一份程式碼適用多種型別 泛型與 Trait

第三組:四個語法與機制

語法 用途 詳見
控制流程 ifloopwhileformatch 控制流程
函式與閉包 函式、匿名函式(closure)與迭代器 函式閉包與迭代器
錯誤處理 OptionResult? 運算子 錯誤處理
模組與 Cargo 用 crate 與模組組織程式,用 Cargo 建置與測試 Cargo模組與 Crate

學習順序建議

先花時間把「核心」三個觀念搞懂,其餘內容在其他語言學過的話,多半只是換一種寫法。遇到編譯錯誤不必沮喪,Rust 的錯誤訊息通常會直接告訴你怎麼改。

學習路線

  1. 入門設定:安裝工具鏈、用 Cargo 跑出第一個程式。
  2. 基礎語法:變數、型別、控制流程與函式。
  3. 所有權:所有權、借用、生命週期,這是 Rust 的關鍵。
  4. 資料建模:結構體、列舉、字串與集合。
  5. 抽象與錯誤處理:泛型、trait、錯誤處理、閉包與迭代器。
  6. 進階主題:模組、測試、智慧指標與並行。
  7. 學習資源:官方文件、練習題與精選影音。

推薦影音

兩分半鐘看懂 Rust

簡述:Fireship 用約兩分半鐘介紹 Rust 的特色與所有權概念,適合第一次接觸、想先建立整體印象的人。

什麼是 Rust,為什麼值得學

簡述:微軟《Beginner's Series to Rust》系列的第 2 集,說明 Rust 的定位與優勢,可作為系列教學的起點。

更多依主題整理的影音,請見 影音教學總覽

了解更多

官方書籍、練習題與線上編譯環境整理在 學習資源。若想認識唯客學院,請看 關於我們