← SEARCHABLE ARCHIVE
Rust · 2026-07-19

Rust 從基礎到精通 — 第 2 講

學習變數、類型、函數和模式匹配

INTERACTIVE READING MODE →

該部落格上撰寫的文章是出於教學目的而創建的。 另外,文章中的資訊可能不正確,請謹慎。

Rust 在編譯階段檢查變數類型和值的有效範圍。 如果您了解基本語法、表達式和模式匹配,後續的專有程式碼將變得更容易閱讀。

變數和類型

let level: u32 = 10;
let speed = 4.5_f32;
let alive = true;

let mut health = 100;
health -= 20;

變數預設不能更改,只有加入mut才能更改值。 當不變性是預設值時,找到哪些程式碼正在改變狀態就變得更容易。

整數類型具有固定的大小和符號。 當轉換為其他數值類型時,您必須使用 as 或轉換函數來表示您的意圖。

表達

let state = if health <= 0 {
    "Dead"
} else if health < 30 {
    "Danger"
} else {
    "Normal"
};

Rust 的 if 可以用來當作傳回值的運算式。 每個分支傳回的類型必須相同。

如果沒有分號,則區塊中的最後一個表達式將成為傳回值。 如果加上分號,它就變成沒有值的單位類型。

匹配並重複

let reward = match rank {
    'S' => 1000,
    'A' => 500,
    _ => 100,
};

let mut total = 0;
for damage in [10, 20, 15] {
    total += damage;
}

匹配檢查以確保不會遺漏任何可能的情況。 _ 是先前未處理的剩餘模式。

功能

fn calculate_damage(attack: i32, defense: i32) -> i32 {
    (attack - defense).max(1)
}

指定參數和傳回類型,最後一個表達式就是結果。 函數不僅僅是減少程式碼的工具,而是在輸入、輸出和責任之間創建邊界的工具。