Day 1:變數與不可變性

學習目標

  • 理解 Rust 變數預設不可變的特性
  • 會用 mut 宣告可變變數
  • 認識常數(const)

今日重點

變數預設不可變(Immutability)

let x = 5;
// x = 6; // 錯誤!x 預設不可變

可變變數

let mut y = 5;
y = 6;   // 正確,因為有 mut

常數(const)

const MAX_POINTS: u32 = 100_000;
// const 必須明確標型別,且永遠不可變

const vs let:const 是編譯期常數、只能用常數表達式、使用前無需先「綁定」。

練習

fn main() {
    let mut count = 0;
    count += 1;
    count += 2;
    println!("count = {}", count);

    const TAX_RATE: f64 = 0.05;
    println!("tax = {}", TAX_RATE * 100.0);
}
1. 故意把 let mut count 改成 let count,觀察編譯錯誤訊息。 2. 把恆定值改用 const 宣告。

自我檢查

  • 能解釋「Rust 變數預設不可變」這個特性的好處
  • 知道 mut 的用途
  • 知道 const 跟 let 的差別

深入連結

  • 閱讀 The Book 第 3 章「Variables and Mutability」與「Constants」。