Dartで変数を宣言する際には、初期化をしたくないという場面があります。
こうした場面で、変数の初期化を遅らせる方法を紹介します。
方法

変数の初期化をすぐに行いたくないのであれば、「late」キーワードを使います。
late String name;
late int num;
型の前に「late」をつけることによって、初期化を遅らせることが出来ます。
注意点

「late」キーワードには、2つ注意点があります。
var
ひとつは、「var」キーワードで使うと、型が「null」になるということです。
varキーワードは、初期化による型推論を行います。
つまり、初期化しないと型が分からないので、型が「null」になってしまうのです。
なので、「late」には、「var」を使わないようにしましょう。
使用前に初期化
もうひとつは、変数を使用する前に必ず「初期化をすること」です。
「late」キーワードは、あくまで初期化を後回しにするだけです。
なので、使う前には、必ず値の設定をしなくてはいけません。
初期化を忘れたり、使用する後に設定してしまっていることがないように気をつけてください。
まとめ
初期化を遅らせるには、「late」キーワードを使います。
このキーワードは、次の2つのことに気をつけて使ってください。
- varキーワードと使わない
- 使用前に必ず初期化をする
参考
Alberto Miola, Flutter Complete Reference(書籍)
コメント