编程语言
366
枚举类型,通常被称作 enumerations 或 enums(枚举),是用来表示有固定数量的常量值的一种特殊类。
使用枚举
使用 enum 关键词声明一个枚举类型:
enum Color { red, green, blue }
枚举中的每一个值都有一个 index getter,返回枚举声明中基于0的位置索引。比如,第一个值有索引 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('Red as roses!'); break; case Color.green: print('Green as grass!'); break; default: // 没有这个,你会看到一个警告 print(aColor); // 'Color.blue' }
枚举类型有以下限制:
- 你不可以继承、混入或实现一个枚举。
- 你不可以显式实例化一个枚举。
要了解更多内容,请参阅 Dart 语言规范。