かとのぼのマイコード・マイライフ

個人開発者かとのぼのプログラミングと雑談のブログです。たまに読書と銭湯も

Flutterのfinalの意味【Flutter】

f:id:katonobo:20191017180242p:plain

finalって結局何?

変数の頭についている「final」ですが、これは何なんでしょうか?

いきなり結論ですが、

finalは変数・定数の型の一種です。そして、値を一回与えると以降は変更不可能となります。

finalと似たものに「const」がありますが、「const」はコンパイル時に数値が必要で、「final」はコンパイル時には数値は必要ないという違いがあります。

詳しくは公式の「A tour of the Dart language」を参照すると良いでしょう。

dart.dev

「var」 「const」「final」の使い分けを把握しておけば迷わないかな

個人的な理解として、

変数として、代入する値が何度も変わるなら「var」。

最初からハードコード(直接の数字)のように固定しておくのが「const」。

値は変化するけど一回で決まるなら「final」。ってイメージで捉えています。

今まで学習したプログラミング言語にはなかったので少し混乱しましたが、とてもシンプルです。 

 

Flutter モバイルアプリ開発バイブル

Android/iOSクロス開発フレームワーク Flutter入門

Flutter×Firebaseで始めるモバイルアプリ開発 (技術の泉シリーズ(NextPublishing))