Initializer lists

김하람·2022년 3월 18일
0

flutter

목록 보기
3/17

Initializer lists

constructor 실행 전에 final fields가 값을 가지는지를 확인하는 등의 초기 설정이 필요한 경우가 있다. 즉, default field에 실행 전에 값이 있도록 하기 위해 Initializer lists에서 초기화 하는 작업을 수행한다.

Point.fromJson(Map<String, double> json)
    : x = json['x']!,
      y = json['y']! {
  print('In Point.fromJson(): ($x, $y)');
}

assert는 개발 모드의 debug중에만 영향을 미친다.
Initializer lists에는 이렇게 debug중에만 실행되는 assert를 넣을 수 있다.

class FirstTwoLetters {
  final String letterOne;
  final String letterTwo;

  FirstTwoLetters(String word)
      : assert(word.length >= 2),
        letterOne = word[0],
        letterTwo = word[1];
}
  • 컴퓨터는 0부터 시작한다.

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

0개의 댓글