반응형

 

Dart, 열거형 (Enumerated type)

 

글. 수알치 오상문

 

열거형(enum)은 상수 값들로 이루어진 특별한 클래스입니다. 예약어 enum을 사용하여 열거형 변수를 만들 어 사용합니다. 

 

enum Color { red, green, blue }

 

void main() {
  assert(Color.red.index == 0);
  assert(Color.green.index == 1);
  assert(Color.blue.index == 2);  
}

 

열거형의 각 값에는 열거형 선언에 사용한 값의 위치(0부터 시작해서 1씩 증가)를 반환하는 getter 메서드가 제공됩니다. 첫 번째 값은 인덱스 0이고 두 번째 값은 인덱스 1입니다.

 

assert(Color.red.index == 0);

assert(Color.green.index == 1);

assert(Color.blue.index == 2);

 

열거형의 모든 값을 가져오려면 values 상수를 이용합니다.

 

List<Color> colors = Color.values;

assert(colors[2] == Color.blue);

 

다음은 switch 문장에서 열거형을 사용하는 예입니다. 열거형의 모든 값에 대응하도록 작성하지 않으면 경고가 발생하니 주의합니다.  

 

var aColor = Color.blue;

switch (aColor) {

  case Color.red: print('장미 같은 빨간색!');

    break;

  case Color.green: print('잔듸 같은 초록색!');

    break;

  default:  // 이 부분이 없으면 경고 발생함

    print(aColor); // 'Color.blue'

}

 

<이상>

 

반응형

'Dart' 카테고리의 다른 글

Dart, 클래스 변수와 메서드  (0) 2021.06.17
Dart, 클래스에 기능 추가하기(mixin)  (0) 2021.06.17
Dart, 클래스 class 확장  (0) 2021.06.17
Dart, 메서드(메소드)  (0) 2021.06.17
Dart, 클래스 class  (0) 2021.06.15

+ Recent posts