Flutter

[Flutter/Dart] dart 문법 열거형 enum의 효율적인 사용 방법

izongg 2024. 4. 5. 17:34
반응형
enum Fruits {
  apple('red', 1000, true),
  banana('yellow', 1500, false),
  grape('purple', 2000, true),
  ;

  final String color;
  final int price;
  final bool favorite;
  const Fruits(this.color, this.price, this.favorite);
  
  // 특정 색깔인 과일 찾기
  factory Fruits.getByColor(String fruitColor) {
    return Fruits.values
        .firstWhere((value) => value.color == fruitColor);
  }
}

 

  print(Fruits.apple.color); // output : red
  
  print(Fruits.banana.price); // output : 1500
  
  // 빨간색인 과일
  print(Fruits.getByColor('red')); // output : Fruits.apple
  
  // 보라색인 과일의 가격
  print(Fruits.getByColor('purple').price); // output : 2000
  
  // 노란색인 과일을 좋아하는지
  print(Fruits.getByColor('yellow').favorite); // output : false
  
  print(Fruits.values.byName('grape')); // output : Fruits.grape
반응형