fn main() {
    // 変数の宣言
    let x;
    //let x, y;   // 複数の変数の宣言はコンパイルエラー
    x = 0;

    // 初期値の設定
    let x = 100;
    //let x = 100, y = 200;   // 複数の変数の宣言はコンパイルエラー

    // 宣言と初期化を分ける
    let x;
    x = 100;

    // 型注釈
    let x: i32;
    x = 100;
    let x: i32 = 200;

    // イミュータブルな変数
    let x = 100;
    //x = 200;    // イミュータブルな変数への代入はコンパイルエラー

    // ミュータブルな変数
    let mut x = 100;
    x = 200;

}
