【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part03 変数

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part03 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part02 文法

今回は変数(定数)についてです。

変数

変数の初期値

初期値はnullオブジェクトです。
これはintであっても同様だということに注意したいです。
Javaでは数値系の変数はだいたい0でした。

そもそもJavaではintはプリミティブ型に属しておりオブジェクトでは無かったですが😅

変更不可の変数

変更不可の変数はfinalで修飾します。
このとき、型の指定は不要とのこと。
自動的に型推論が働くという理解でいいでしょうかね。

コンパイル定数

constというキーワードを付けるとコンパイル定数という定数になるそうです。

コンパイル定数とは変数を利用している箇所がコンパイル時に、その低数値に書き換わる最適化が行われるということです。

なるほど!わかりません(笑
実装者にはどのような恩恵があるのでしょうか?
コンパイル時に最適化が行われるという機能なのでしょうか。

こちらに詳細がありました。
Dartの変数定義時の修飾static/final/const、そしてconst constructorについて – Qiita

変数の値が「コンパイル時定数(compile-time constant)」であること、すなわち、コンパイル時に確定している値であることを示すための指定。constな変数の値はプログラムの実行開始に先立って初期化されており、プログラムの実行を通じて不変であることが保証される。const変数は再代入も不可である。つまり、finalの意味に加え、constな変数が指す先のメモリ領域の内容も変更不可であることを表す。

おお!なるほど!

finalと同様に変更不可。

クラス内で使用する場合はstatic constで修飾する必要があります。

Null Safety

本書籍が登場したときはまだNull Safetyではなかったようですが、Dart 2.12ではNull Safetyを実現したそうです。

Dartの型の理解しておきたいあれこれ(Null safety編) – Qiita

Built-in型

「Dart言語標準の型」ということですよね。
英語ではこのように記載されているんでしょうね。

  • int, double
  • String
  • bool
  • List, Set, Map
  • Runes
  • Symbol

最後に

次回はBuilt-in型の内容を学習します!

今日はここまで!