// dictionary
変数.
値に名前を付けて保持するための仕組みです。
Rustでは通常、letキーワードで変数を宣言します。
fn main() {
let price = 300; // 変数宣言と初期化
println!("合計: {}円", price);
}Playgroundで開く変数はデフォルトで不変
変数はデフォルトで不変(immutable)です。
宣言時に mut を付けたときだけ値を変更できます。
fn main() {
let price = 300; // 不変の変数(mut なしで再代入するとエラー: E0384)
let mut count = 2; // mut を付けると可変
count += 1;
println!("合計: {}円", price * count);
}Playgroundで開く補足
シャドーイングとmutの違い
mut は同じ変数の値を書き換えるのに対し、シャドーイングは let で新しい変数を作って同じ名前を再利用します。新しい変数なので、元と異なる型にすることもできます。
fn main() {
let spaces = " "; // &str型
let spaces = spaces.len(); // usize型として作り直せる
println!("空白の数: {}", spaces);
}Playgroundで開く未初期化の変数は使えない
Rustでは宣言と初期化を分けて書けますが、すべての実行経路で初期化されるまでその変数は使えません。
fn main() {
let balance: i32;
println!("{}", balance); // エラー: E0381(未初期化の可能性がある変数の使用)
}Playgroundで開くこの辞書が使われているページ
backlinks 28
- 辞書for式
- 辞書if式
- 辞書let-else文
- 辞書loop式
- 辞書match式
- 辞書NLL(非レキシカルライフタイム)
- 辞書クローン
- 辞書コンソール出力
- 辞書シャドーイング
- 辞書スライス
- 辞書ダングリング参照
- 辞書ベクタ(Vec)
- 辞書ムーブ
- 辞書ループラベル
- 辞書関数
- 辞書構造体
- 辞書所有権
- 辞書整数型
- 辞書定数
- 辞書文
- 辞書文字列スライス
- 辞書文字列型
- 辞書包括パターン
- 本動かして学ぶRustプログラミング問題集 › 第1章 コンソール出力と変数
- 本動かして学ぶRustプログラミング問題集 › 第5章 タプルと配列・スライス
- 本動かして学ぶRustプログラミング問題集 › 第7章 所有権とムーブ
- 本動かして学ぶRustプログラミング問題集 › 第8章 参照と借用
- 本動かして学ぶRustプログラミング問題集 › 第9章 構造体