letとmut
Rustの変数はデフォルトで変更できません。値を変更する変数にはmutを付けます。
変更できる変数RUST
fn main() {
let name: &str = "Mity";
let mut score: i32 = 70;
score += 15;
println!("{name}: {score}点");
}実行結果OUTPUT
Mity: 85点mutを付けずに値を変更するとコンパイルエラーになります。変更が不要なら、変更できないままにしておくほうが意図を伝えやすくなります。
基本のデータ型
整数にはi32、小数にはf64、真偽値にはbool、文字列リテラルには&strをよく使います。所有する文字列はStringです。
型を使い分けるRUST
fn main() {
let age: u32 = 20;
let height: f64 = 170.5;
let is_student: bool = true;
let name: String = String::from("Mity");
println!("{name}: {age}歳、身長{height}cm、学生={is_student}");
}実行結果OUTPUT
Mity: 20歳、身長170.5cm、学生=true整数型は混ぜられない
i32とu32は別の型です。必要な変換方法と値の範囲を確認してから変換します。条件分岐と繰り返し
Rustのifは式でもあるため、条件によって値を作れます。forは範囲やコレクションを順番に処理します。
ifとforRUST
fn main() {
let score = 82;
let result = if score >= 60 { "合格" } else { "再挑戦" };
for number in 1..=3 {
println!("{number}回目: {result}");
}
}実行結果OUTPUT
1回目: 合格
2回目: 合格
3回目: 合格関数を定義する
関数はfnで定義し、引数と戻り値の型を明示します。最後の式が戻り値になる場合、セミコロンを付けません。
送料を計算するRUST
fn shipping_fee(weight: u32) -> u32 {
if weight <= 2 { 300 } else { 600 }
}
fn main() {
println!("送料: {}円", shipping_fee(3));
}実行結果OUTPUT
送料: 600円練習
整数のリストから60点以上だけを選び、合計を返す関数を作ってみましょう。次の所有権とはでは、配列やStringを関数へ渡すときの考え方を学びます。