2025-09-23

Enhanced enum

enum VideoQuality {
  hd(720),
  fhd(1080),
  qhd(1440);
  
  final int progressive;
  
  const VideoQuality(this.progressive);
  
  @override
  String toString() => "The $name video is ${progressive}p.";
}

์›๋ž˜๋Š” enum์— extension ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋Š”๋ฐ Dart 2.17 ์ดํ›„๋กœ ์ž์ฒด์ ์œผ๋กœ ์ง€์›ํ•œ๋‹ค.


Multiful Returns

(String,int) userInfo(Map<String, dynamic> json) {
  return (json['name'] as String, json['age'] as int);
}

main() {
  var info = userInfo(json);
  var name = info.$1;
  var age = info.$2;
}

๋ณ„๋„์˜ ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ Dart 3.0 ์ดํ›„๋กœ๋Š” ์–ด๋Ÿฌํƒ€์ž…์„ ํ•œ๋ฒˆ์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ํ˜•์€ (๋ฐ˜ํ™˜ํ˜•1, ๋ฐ˜ํ™˜ํ˜•2)์˜ ํ˜•ํƒœ๊ฐ€ ๋˜๋ฉฐ, ์ ‘๊ทผํ• ๋•Œ๋Š” $๋งค๊ฐœ๋ณ€์ˆ˜๋ฒˆํ˜ธ ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.


์ฐธ๊ณ 

https://terry1213.com/dart/dart-enum-2-17/
https://origogi.github.io/flutter/dart-3.0/

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: