今回はDart言語における「変数」の概念と使い方について解説していきます。
プログラミング初心者でも理解しやすい内容になっているのでぜひ最後までご覧ください。
プログラミング言語における「変数」とは?
まずはプログラミング言語における変数の大まかなイメージから解説していきます。
変数とはズバリ「数値や文字などの値(データ)を格納できる箱」のことです。
箱に名前をつけておくことで箱の中のデータを取り出したり、入れ変えたり簡単にできるようになります。
変数のメリット・用途
プログラミング初心者の方の中には「なぜ変数で値を格納する必要があるのか?」気になっている方もいると思いますので変数のメリットについて次の3つを解説しておきます。
- 繰り返しデータを利用できる
- 可読性が向上する
- 保守性が向上する
繰り返しデータを利用できる
プログラミングでは繰り返し同じコードが必要となることが多く、コードが長い場合はいちいち同じコードを書く必要があり非効率です。
そのような場合は繰り返し利用するデータを変数としてまとめておくことで、必要な場合に変数を呼び出してデータを取得できます。
可読性が向上する
変数を使えば複雑なデータに分かりやすい名前をつけて格納したり、長いコードを1つにまとめたりできるので可読性が向上します。
例えば「012012345678」の数値があったとします。この数値に「phone」と名前をつけた変数とすることで第三者でも理解しやすいデータとして扱うことが可能です。
保守性が向上する
変数を利用することでコードの保守性(データ管理のしやすさ)が向上します。
重複するデータの値を全て変更したい場合、変数を利用していれば変数の値のみ変更して全てのデータが修正されるのでデータ管理が簡単になります。
もし変数を使用せずに重複したデータを変更する場合、1つ1つ修正する必要がありエラーが発生しやすくなる恐れがあります。
変数の「型」とは?
先ほど変数とは「数値や文字などの値を格納できる箱」と解説しましたが、変数には適した「型(データ型)」の値のみ入れることができます。
例えば「文字列」のデータを扱う変数に「数値」のデータを入れることはできません。
Dart言語の主なデータ型
Dart言語には次のようなデータ型があります。
現時点では「こんな型があるんだ」程度の認識で大丈夫です。別の記事で各データ型の詳細を解説していきます。
型 | 意味 | 例 |
---|---|---|
String | 文字列 | ‘Dog’ |
int | 整数値 | 18 |
double | 実数 | 3.14 |
bool | 真偽値 | true |
List | 配列(重複あり) | List<String> |
Set | 配列(重複なし) | Set<String> |
Map | 連想配列 | Map<String, int> |
変数における宣言・代入・初期化とは?
Dart言語における変数の使い方を解説していく前に、変数で知っておきたい次の用語を解説しておきます。
- 宣言
- 代入
- 初期化
宣言とは?
変数における宣言とは「箱の名前」と「箱に入るデータ型」を定めることを指します。
よって宣言しただけでは箱にデータが入っていない状態になります。
代入とは?
変数における代入とは「箱にデータを入れる」ことを指します。
代入できるデータは宣言で指定したデータ型のみとなります。
初期化とは?
変数における初期化とは「宣言と代入を同時に行う」ことを指します。
よって「変数の初期化」とは変数に初めからデータが入っていることを意味します。
変数の使い方・書き方
変数の「宣言」と「初期化」
Dart言語における変数の「宣言」と「初期化」の書き方は次の通りです。
//宣言
データ型 変数名;
String name;
//初期化
データ型 変数名 = 値;
String name = '山田太郎';
var修飾子による初期化
変数はvar
を宣言して初期化することも可能です。var
で初期化する場合、変数で格納できるデータ型は初期値の型と同じになります。よって初期化した時の値が文字列の場合は文字列のみ代入できます。
//初期化
var 変数名 = 値;
var name = '山田太郎';
var name = '山田太郎';
name = '佐藤哲也'; //代入できる
name = 100; //代入できない
変数に値を「代入」
変数に値を代入するには、次のように変数名と新しい値を=
で結ぶだけです。
var name = '山田太郎' //初期化
name = '佐藤哲也' //代入
変数の値を「取得」
変数で初期化・代入した値は変数名を書くことで取得できます。
var name = '山田太郎';
print(name);
//出力結果
//山田太郎
Null許容型・Null非許容型とは?
変数に値が代入されていない空の状態を「Null」と呼びます。
そして変数には値がNullでも問題ない「Null許容型」とNullだとエラーが発生する「Null非許容型」があり、ます。Null許容型にするにいは型を宣言した後ろに?
をつけます。
//Null許容型
String? name;
//Null非許容型
String name;
Null許容型はなぜ必要?
APIなどから取得するデータの中にはNull値が含まれている場合があり、そのままデータをNull非許容型の変数に代入してしまうと不具合が生じてしまう恐れがあります。
そんな場合は予め変数をNull許容型にしておくことで対処できます。
まとめ
今回はDart言語における「変数」の基本的な使い方について解説しました。
変数の他に定数があり定数では初期化した後にデータ値を変更できないよう固定することができます。ぜひ変数とセットで学習してみてください。