変数
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