どうも、こんにちは。Masakiです。
前回 cargoを使ってのコンパイル実行したので、今日は変数についてやっていきたいと思います。
変数を表示してみる
というわけでさっそくやっていこうと思います。
今回はすでにプロジェクト作成したところから始めていきます。cargoを使ってのプロジェクト作成を参照してください。
では、「main.rs」Rustでの変数の宣言は「let」をつけることでできます。
・main.rsのコード
fn main() { let hoge: i32 = 10; println!("{}", hoge); }
・ビルド
$ cargo build --> src/main.rs:2:9 | 2 | let hoge: i32 = 10; | ^^^^ help: consider prefixing with an underscore: `_hoge` | = note: #[warn(unused_variables)] on by default
!!!
どうやら変数名に「_」が入っていないことで警告を受けてますね。このままでも実行は可能ですが、一応修正しておきましょうか。
・修正コードmain.rs
fn main() { let _hoge: i32 = 10; println!("{}", _hoge); }
これで、警告されないはずです。
変数を出力をするにはprintln!の中に「{}」でしたところに変数が出力されます。
・実行
$ cargo run
うまく表示できれば一旦はOK。
変数の中身を変えてみる
変数である以上は値をいじれないと意味はないので変数をいじっていきます。
・main.rsのコード
fn main() { let _hoge: i32 = 10; println!("変更前:{}", _hoge); _hoge = 5; println!("変更後:{}", _hoge); }
実は先ほどのコード。「_hoge」は不変なんですねぇ。*定数ではありません。
変数の値を変えないときは良いのですが、変数の値を変えて使うには「mut」を宣言しないとダメなんですね。うーんなかなか癖がありますね………
さっそくコード変えていきましょう。
・修正後のmain.rsコード
fn main() { let mut _hoge: i32 = 10; println!("変更前:{}", _hoge); _hoge = 5; println!("変更後:{}", _hoge); }
後はビルド・実行すると実行できるはずです。
あとがき
さていかがでしたか?
今回は変数についてでした。
他にもrustには複数の型が存在するのでそれはまた次の機会に。