Dart Variables
この文章の内容はdart公式tourのvariablesをまとめたものです。
動的変数と静的変数
Dartは静的型付き言語と動的型付け言語といった両方の側面を持つため、下記のどちらのような宣言の仕方が可能です。
// 動的変数
var s1 = '文字列'
// 静的変数
String s2 = '文字列'
Default value
Dartの変数の初期値はnullになります。
defaultValue.dart
main() {
int i;
assert(i == null);
}
assesionは「enable-asserts」を実行時に指定しないと実行されないため、以下のように起動します。
dart --enable-asserts defaultValue.dart
finalとconst
Dartでは定数を宣言する方法として2つの方法(finalとconst)があります。
final
final をつけて宣言された変数は、一度代入を行った後に、再度、代入ができません。
イメージとしてプログラム実行時に振る舞いが決まる感じです。プログラム実行時には値は決まってなくともよい。
final int i = 1;
i = 2 //不正なプログラム
const
constも一度代入を行った後に、再度、代入ができません。
finalとの違いは、コンパイル時に値が評価されて、プログラム実行時にはすでに値が決まっていることです。
(Javaでいうところのstatic finalに近いイメージです。)
const int i = 1;
const int j = 2;
const int k = i * j;