枚举¶
enum 枚举类型名 by 值的类型 as type { // as type 可以省略
枚举元素1 = 值1, // = 值1 可以省略,此时默认为前一个元素的值加 1
枚举元素2 = 值2, // 务必添加尾随逗号
// ...
}
// 此时 typeof(枚举元素1) is 枚举类型名
也可以不写值的类型,此时默认为 int
。
enum 枚举类型名 {
枚举元素1 = 值1,
枚举元素2 = 值2,
// ...
}
在使用字符串作为枚举值的类型时,不应该省略值,否则会出现以下情况。
enum 枚举类型名 by str {
枚举元素1 = "",
枚举元素2 = "1",
枚举元素3 = "11",
枚举元素4 = "111",
// ...
}
也可以将枚举用作一个容器,其中的元素可以直接参与运算。
enum 枚举类型名 by 值的类型 as container {
枚举元素1 = 值1,
枚举元素2 = 值2,
// ...
}
// 此时 typeof(枚举元素1) is 值的类型
将值的类型设为 void
可以阻止枚举元素的值在运行时被访问,此时枚举元素只能用于编译期的判断。
enum 枚举类型名 by void {
枚举元素1, // 当然这不能写 = 值
枚举元素2,
// ...
}