【问题标题】:Protobuf empty string as ENUM nameProtobuf 空字符串作为 ENUM 名称
【发布时间】:2021-03-08 10:50:47
【问题描述】:

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

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

是否可以有一个空字符串 ("") 而不是 UNDEFINED

【问题讨论】:

    标签: protocol-buffers proto


    【解决方案1】:

    不,不是。枚举名称用于在大多数(所有?)语言中生成成员,并且该成员通常是标识符,因此需要名称。由于在某些语言(C++、cough)中如何为多个枚举定义成员解析,您可能还希望在名称前加上前缀,以便您可以拥有多个 UNDEFINED

    我个人更关心“高”、“矮”或“未定义”的高度选项的模棱两可、过载和限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-17
      • 2011-09-05
      • 2011-07-13
      • 2012-05-02
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多