[Dart / Flutter]定数の宣言と初期化

定数は一度設定するとその値を変えることができない特別な「変数」のようなものです。Dart言語には、定数を宣言するための特別なキーワードが用意されています。

文法・構文形式

final 型 定数名 = 値;
const 型 定数名 = 値;

定数とは、その名の通り一定の値を持つ要素のことを指します。プログラム中で値が変わることのない情報を管理したい場合に使用します。Dartでは、finalconstという二つのキーワードで定数を宣言することができます。

  • final
    コンパイル後のプログラム実行時に値が固定化されます。
  • const
    コンパイル時に値が固定化されます。これは、ソースコードが変換される段階で既に値が確定されていることを意味します。

利用場面

定数は以下のような場面で役立ちます。

  • 設定値やパラメータとしての基準値を保持する際。
  • ソフトウェアのバージョン情報を持つ場合。
  • 計算中に使用するπや黄金比などの特定の数値を保持する時。
使用例
final String appName = "DartApp";
// appName = "NewDartApp"; // これはエラー、再代入はできません。

const double pi = 3.14;
// const double radius = getRadius(); // これはエラー、コンパイル時に値が確定していない。
メリット
  • 定数はその値が変わらないため、読み手がコードの中でのその値の流れや変化を追いやすくなります。
  • バグの原因を減少させる可能性があります。定数の値が変更されることがないので、思わぬところでの値の変更によるエラーを避けることができます。
デメリット
  • 一度設定した値を変えることができないため、柔軟性には欠けます。変更が必要な場合、新たに定数を宣言する必要があります。

定数は、その値が変わらない「特別な変数」として、プログラム中で安全に情報を管理するために用います。Dartにおけるfinalconstは、それぞれ異なる状況や要件での使用が推奨されます。正確に役割と特性を理解し、適切に使用することで、コードの品質や読みやすさを向上させることができます。