Protobuf 空字符串作为 ENUM 名称

时间:2021-03-08 10:50:47

标签: protocol-buffers proto

假设我有这个协议缓冲区架构:

message Person{
  enum Height{
    UNDEFINED = 0;
    TALL = 1;
    SHORT = 2;
  }
  HEIGHT Height = 1;
}

是否可以使用空字符串 ("") 而不是 UNDEFINED

1 个答案:

答案 0 :(得分:1)

不,不是。枚举名称用于在大多数(所有?)语言中生成一个成员,该成员通常是一个标识符,因此需要一个名称。由于某些语言(C++、咳嗽)中为多个枚举定义成员解析的方式,您可能还希望为名称添加前缀,以便您可以有多个 UNDEFINED。< /p>

就我个人而言,我更关心“高”、“矮”或“未定义”的高度选项有多模糊、超载和限制。

相关问题