Initializer lists


Initializer lists


コンストラクション関数を実行する前に、finalフィールドに値があるかどうかを決定するなど、初期設定が必要になる場合があります.すなわち、defaultフィールドに実行前に値を持たせるために、初期化器リストの初期化操作が実行される.
Point.fromJson(Map<String, double> json)
    : x = json['x']!,
      y = json['y']! {
  print('In Point.fromJson(): ($x, $y)');
}
assertは開発モードのデバッグでのみ機能します.
Initializerリストには、デバッグ中にのみ実行されるassertを含めることができます.
class FirstTwoLetters {
  final String letterOne;
  final String letterTwo;

  FirstTwoLetters(String word)
      : assert(word.length >= 2),
        letterOne = word[0],
        letterTwo = word[1];
}
  • パソコンはゼロから始まります.
  • code example

    class FirstTwoLetters {
      final String letterOne;
      final String letterTwo;
    
      // Create a constructor with an initializer list here:
      FirstTwoLetters(String word)
        ...
    }

    solution

    class FirstTwoLetters {
      final String letterOne;
      final String letterTwo;
    
    // Create a constructor with an initializer list here:
      FirstTwoLetters(String word)
          : assert(word.length >= 2),
            letterOne = word[0],
            letterTwo = word[1];
    }
    注意:https://dart.dev/codelabs/dart-cheatsheet#initializer-lists