fn main() {
    // 変数(デフォルトで不変)
    let name = "たろう";
    let mut age = 16;     // mut をつけると変更可能

    age = 17;             // mut なので変更できる

    println!("名前: {}", name);
    println!("年齢: {}", age);

    // 条件分岐(ifは式として使える)
    let result = if age >= 18 { "成人" } else { "未成年" };
    println!("{}", result);

    // ループ
    for i in 0..5 {       // 0〜4
        println!("{}", i);
    }

    // ベクタ(動的配列)
    let fruits = vec!["りんご", "バナナ", "みかん"];
    for f in &fruits {
        println!("{}", f);
    }
}
📌 Rustの所有権(基本概念)
  • 各値には「所有者(owner)」が1つだけある
  • 所有者がスコープを外れると値は自動的に解放される(GCがなくても安全)
  • 値を関数に渡すと所有権が移動(move)する
  • & 参照を使うと所有権を渡さず借りることができる(借用/borrowing)