LoginSignup
1
0

【Dart】初期化リスト(Initializer list)とは?

Posted at

初期化リスト(Initializer list)とは

Dartのコンストラクタでは、インスタンス変数を初期化するための特別な構文、初期化リストを提供しています。この機能を使用すると、コンストラクタの本体が実行される前に変数の初期化を行うことができます。

初期化リストの特徴:

  1. コンストラクタ本体の前に実行: 初期化リストは、コンストラクタの中括弧 {} の前、コロン : の後に書きます。
  2. final変数の初期化: finalで宣言された変数は、初期化リストを通じて初期化することが多いです。これはfinal変数が一度だけ値の設定が可能であるためです。
  3. 複数の初期化: 初期化リストでは、カンマ , を用いて複数の変数を順序正しく初期化することができます。

初期化リストの基本的な使用方法:

class Point {
  final int x;
  final int y;
  int z;

  Point(this.x, this.y);

  Point.fromMap(Map<String, int> data) 
      : x = data['x'] ?? 0, 
        y = data['y'] ?? 0,
        z = data['z'] ?? 0;
}

上記のPoint.fromMapコンストラクタでは、初期化リストを使用して、マップからx, y, zの値を取得し、それらの値がnullの場合は0をデフォルト値として設定しています。

まとめ

Dartの初期化リストは、インスタンス変数の初期化を行うための強力なツールです。特に、final変数や、コンストラクタの本体実行前にいくつかの処理を行いたい場合に非常に有用です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0