Dart列舉


列舉用於定義命名常數值,使用enum關鍵字宣告列舉型別。

語法

enum enum_name {  
   enumeration list 
}

其中,

  • enum_name指定列舉型別名稱;
  • enumeration list是以逗號分隔的識別符號列表;

列舉列表中的每個符號代表一個整數值,一個大於它之前的符號。預設情況下,第一個列舉符號的值為0

範例

enum Status { 
   none, 
   running, 
   stopped, 
   paused 
}

範例程式碼

enum Status { 
   none, 
   running, 
   stopped, 
   paused 
}  
void main() { 
   print(Status.values); 
   Status.values.forEach((v) => print('value: $v, index: ${v.index}'));
   print('running: ${Status.running}, ${Status.running.index}'); 
   print('running index: ${Status.values[1]}'); 
}

執行上面範例程式碼,得到以下結果 -

[Status.none, Status.running, Status.stopped, Status.paused] 
value: Status.none, index: 0 
value: Status.running, index: 1 
value: Status.stopped, index: 2 
value: Status.paused, index: 3 
running: Status.running, 1 
running index: Status.running