跳轉到內容

Rust 新手程式設計/變數

100% developed
來自華夏公益教科書,開放的書籍,為開放的世界

如果我們不想將計算放在 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);

這個程式執行相同的事情。對於基本運算,你可以將它們與 '=' 一起使用來簡化。

接下來:註釋

華夏公益教科書