變數

變數與常量

Rust 的變數默認為不可變 (immutable)。

let x = 10;
x = 5; // cannot assign twice to immutable variable

想使變數可變可以加上 mut 關鍵字。

let mut x = 10;
x = 5;

可以使用 const 聲明常量,常量不允許改變。

在宣告的作用域中,常量在整個程式的生命週期都有效,因此常用來做全局範圍的固定值。

const MAX_POINT: u32 = 100_000;

隱藏 (Shadowing)

可以使用 let 重複宣告同一個變數,此時第一個變數會被隱藏

mut 不同的地方是,隱藏其實是建立一個新的變數,只是變數名稱與別人相同而已,因此類型上也可以是全新的。

隱藏的好處在於對於意思類似但類型不同的變數,我們可以不用特地再去想一個新的變數名稱。

let spaces = "    ";
let spaces = spaces.len()

如果改用可變變數就會有問題,因為第二次賦值時,變數類型並不一樣。

let mut spaces = "    ";
spaces = spaces.len(); // expected type `&str` found type `usize`

This site uses Just the Docs, a documentation theme for Jekyll.