[Flutter] 変数finalとconstの違い
はじめに
Flutter開発の本や動画を漁っていて、一度値が決まったら変更できない変数を定義する際、finalとconstの2通りの定義の仕方があった。
違いがわからなかったので、調べてわかったことを備忘録として記載しておく
違い
const
・・・ constはコンパイル時に値が代入されて、それ以降は変更できない変数
final
・・・finalはコンパイル時には値が代入されず、プログラムを実行して値を代入した後、変更できない変数
つまり、
const
は別の変数やユーザの入力によって変わるメソッド(TextEditingController())などを使用するとエラーになる。
final
はコンパイル後に定義するので、そのような変数やメソッドあってもよい。