変数とは
プログラムにおける変数とはデータを一時的に記憶しておくための領域となります。
一般的な言語ではプログラマーが任意で定めた一意な名称として定義し領域を作成します。
作成した領域には値として数字や文字列などのデータを格納、保持する事ができます。
変数領域に格納された値を呼び出したり上書きを行う事でより便利にシステムを構築する事が出来ます。
基本的な変数定義
Rustで変数を定義するには下記の様に「let」を使用致します。
let 変数名 = 値;
変数名は上記の様に「let」の後に記述します。
格納したい値は「=」の後に記述します。
今回は例として「x」変数を作成しその中に「5」を格納します。
下記コードとなります。
let x = 5;
Rust変数の特徴
次にRust変数の特徴についてご紹介致します。
ここでご紹介する主な特徴は以下の3つとなります。
- 変数の不変性
- 変数を可変可能にするには
- シャドーイング
1.変数の不変性
一般的なスクリプト言語の変数は可変となっております。
一度代入した変数に対し新たに値を代入するする事が出来ます。
しかし、Rustの変数はデフォルトでは不変となります。
その為、一度代入した値を変更する事は出来ない仕様となります。
上記により安全かつ並行性の高いプログラムを作成する事が出来ます。
2.変数を可変可能にするには
変数を利用する上でどうしても再代入を行う必要がある場合があるかと思います。
Rustの変数を不変から可変に変更するには定義時に「mut(mutable)」を指定する必要があります。
基本的な変数(不変)
let 変数名 = 値;
mutを指定した変数(可変)
let mut 変数名 = 値;
3.シャドーイング
Rust変数は再代入は出来ない仕様となりますが同一名での再定義を行う事が出来ます。
下記は再代入を行った例のコードとなります。
再代入の場合
let x = 5;
x = 6;
上記1行名では「x」変数を定義し「5」を代入しております。
次に定義した「x」に対して「6」を再代入しています。
上記のRustコードでは再代入が禁止されている為、エラーとなります。
シャドーイング(再宣言)の場合
次にシャドーイング(再宣言)の例となります。
let x = 5;
let x = 6;
上記1行名では「x」変数を定義し「5」を代入しております。
次に同一名で変数の宣言を行い「6」を代入しております。
上記の様にシャドーイングを使用する事で変数を可変にすることなく値を変換を行う事が出来ます。