Enum(枚举)

本文介绍枚举类型的基础知识。

枚举值

tableau 解析器支持三种枚举值形式:

  1. 枚举值名称(name)。
  2. 枚举值编号(number)。
  3. 枚举值别名(alias)。别名可以是英文、中文或其他任意语言,通过 tableau.evalue 扩展 google.protobuf.EnumValueOptions 来指定。

例如,common.proto 中定义的枚举类型 FruitType

enum FruitType {
  FRUIT_TYPE_UNKNOWN = 0 [(tableau.evalue).name = "Unknown"];
  FRUIT_TYPE_APPLE   = 1 [(tableau.evalue).name = "Apple"];
  FRUIT_TYPE_ORANGE  = 2 [(tableau.evalue).name = "Orange"];
  FRUIT_TYPE_BANANA  = 3 [(tableau.evalue).name = "Banana"];
}

以上三种枚举值形式均被接受:

枚举值编号枚举值名称枚举值别名
0FRUIT_TYPE_UNKNOWNUnknown
1FRUIT_TYPE_APPLEApple
2FRUIT_TYPE_ORANGEOrange
3FRUIT_TYPE_BANANABanana

注意:枚举类型必须预先定义。

了解预定义 Enum 类型的详细信息:预定义类型 →

校验

由于枚举类型是预先定义的,tableau 解析器会自动校验枚举值的合法性。