[Flutter] Initializer lists ์ •๋ฆฌ

2022. 7. 6. 00:41ยท๐Ÿ’ง flutter
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
๋ฐ˜์‘ํ˜•

'๐Ÿ’ง flutter' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Flutter] FractionallySizedBox class ์ •๋ฆฌ  (0) 2022.07.06
[Flutter] FittedBox Class ์ •๋ฆฌ  (0) 2022.07.06
[Flutter] CustomSingleChildLayout ์ •๋ฆฌ  (0) 2022.07.06
[Flutter] Using this in a constructor ์— ๋Œ€ํ•˜์—ฌ  (0) 2022.07.06
[Flutter] Exceptions ์ด๋ž€!?  (0) 2022.07.06
'๐Ÿ’ง flutter' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Flutter] FittedBox Class ์ •๋ฆฌ
  • [Flutter] CustomSingleChildLayout ์ •๋ฆฌ
  • [Flutter] Using this in a constructor ์— ๋Œ€ํ•˜์—ฌ
  • [Flutter] Exceptions ์ด๋ž€!?
coram22
coram22
  • coram22
    ram2 ๐Ÿš—
    coram22
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (79)
      • ๐Ÿ’ง flutter (22)
      • ๐ŸŽ iOS (18)
      • ๐Ÿฉต CosPro (4)
        • python 2๊ธ‰ (4)
      • ๐Ÿˆ‍โฌ› git (3)
      • ๐Ÿ–ฅ๏ธ react (6)
      • ๐Ÿพ OS (1)
      • ๐Ÿ›œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ (6)
      • ๐ŸŒƒ computer vision (6)
      • ๐Ÿ“š ๋ฐฑ์ค€ (4)
      • ๐Ÿฃ My Story (1)
      • ๐Ÿ’ป else (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿˆโ€โฌ› github ๐Ÿˆโ€โฌ›
    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๐Ÿฑ Github ๐Ÿฑ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Swift
    Git
    2๊ธ‰
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ๊ณต์‹๋ฌธ์„œ
    React
    Python
    OpenCV
    IOS
    dart
    Computer Vision
    FLUTTER
    SwiftUI
    Flutter codelab
    ์˜ค๋ธ”์™„
    ์ค‘๋„ํœดํ•™
    Xcode
    UIKit
    ์ปด๋„ค
    ์ •๋‹ต ๋ฐ ํ•ด์„ค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
coram22
[Flutter] Initializer lists ์ •๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”