dart语言入门:10、枚举类型

使用enum声明一个枚举类型:

1
enum Color { red, green, blue }

枚举的每个值都有一个index属性,返回从0开始的枚举值:

1
2
3
assert(Color.red.index == 0);
assert(Color.green.index == 1);
assert(Color.blue.index == 2);

使用枚举的values常量获取枚举的值:

1
2
List<Color> colors = Color.values;
assert(colors[2] == Color.blue);

在switch语句中使用枚举:

1
2
3
4
5
6
7
8
9
10
11
12
var aColor = Color.blue;

switch (aColor) {
case Color.red:
print('Red!');
break;
case Color.green:
print('Green!');
break;
default:
print(aColor); // 'Color.blue'
}

PS:没有处理所有的枚举值,会出现警告。