Rust 新手程式設計/變數
如果我們不想將計算放在 println!() 行內呢?
為了解決這個問題,我們可以使用變數。變數允許你儲存值以便以後使用。
以下是一個示例
let number = 5;
首先,'let' 是一個特殊的關鍵字,表示這是一個變數。'number' 是變數的名稱,以便我們以後可以引用它。'=' 表示我們正在將值賦予變數。數字 5 是我們賦予的值。這意味著以後當我們輸入 'number' 時,它將引用數字 5。分號 ; 與之前一樣,表示行尾。
例如
let number = 5;
println!("{}", number);
將列印我們放入 'number' 中的數字 5。
為什麼這很好呢?
這樣做的優點是我們現在將值分開了,更容易更改。因此,我們可以將程式碼行更改為
let number = 5 + 4;
println() 行將列印 number 的新值,即 9。
Rust 中一個有趣的事情是變數預設情況下是不可變的。這意味著它們在建立後不能更改。但是,你可以使用 'mut' 關鍵字將變數設定為可變的(可更改)。
let mut number = 5;
number = 8;
println!("{}", number);
這將打印出值 8,因為它覆蓋了值 5,事實上,值 5 在這裡根本不起作用。如果你執行這段程式碼,編譯器會告訴你 'warning: value assigned to `number` is never read',因為它非常聰明,但也非常挑剔,會檢查程式碼中是否有奇怪的東西。
如果你想先宣告變數,然後再賦予值,你可以這樣做
let number;
number = 8;
println!("{}", number);
請注意,number 不再需要 'mut',因為它只被賦予了一個值,所以它沒有被更改。但是,你不能在設定值之前使用它。例如,
let number;
println!("{}", number);
number = 8;
當你執行 'cargo run' 時,這會給你一個錯誤,因為編譯器會發現 number 在你嘗試列印它時沒有值。
以下是你可以對更改變數進行的一些操作
你可以按順序進行數學運算
let mut x = 10;
x = x * x;
x = x + 5;
println!("{}", x);
這裡我們有一個名為 'x' 的變數。它更短、更容易輸入,但描述性較差,因此可能無法告訴你或其他人稍後這個數字的用途。還要注意,我們在每次設定 x 的下一個值時都使用 x 的最後值。這計算 x2 + 5,其中 x = 10,結果為 105。你可以更改 x 的值,它將對不同的 x 值計算相同的公式。
最後一件事:x = x * number 或 x = x + number 是很常見的操作,所以有一種簡短的方法
let mut x = 10;
x *= x;
x += 5;
println!("{}", x);
這個程式執行相同的事情。對於基本運算,你可以將它們與 '=' 一起使用來簡化。