跳转至

枚举

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,
    // ...
}