๐ง flutter
[Flutter] Initializer lists ์ ๋ฆฌ
coram22
2022. 7. 6. 00:41
728x90
๋ฐ์ํ
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
728x90
๋ฐ์ํ