変数
Rustの変数は、デフォルトでは不変(イミュータブル)になります。
let [変数名] = [初期値];
そのため、初期値から変更しようと代入するとエラーになります。
fn main() { let x = 5; let msg = "test message"; println!("x = {}: {}", x, msg); }
文字列
文字列は、ダブルクォートで囲んで指定します。
例
fn main() { let msg = "Start counter"; println!("{}", msg); }
可変な変数
カウンタなどに使用する変数では、値が変更できなければなりません。 このような可変な変数は、宣言時にmutを指定する必要があります。
let mut [変数名] = [初期値];
例
fn main() { let max = 3; let mut count = 0; loop { count += 1; if count > max { break; } println!("loop: {}", count); } }実行結果は以下のようになります。
loop: 1 loop: 2 loop: 3
シャドーイング
Rustでは、同じスコープで同じ変数を宣言することができます。 この場合、前の変数を覆い隠すことになります。
例
fn main() { let count = 1; println!("count: {}", count); let count = 99; println!("count: {}", count); }これを実行すると、以下のようになります。
count: 1 count: 99