Protobuf:具有默认值的枚举

时间:2014-01-29 14:49:31

标签: enums protocol-buffers

在谷歌的协议缓冲区中,我使用大型枚举,我必须明确指定每个整数值:

  enum Function {ProcessLibrary=0;
                 RotateLeft=1;
                 RotateRight=2;
                 ...}

这非常烦人和丑陋。有没有办法在代码中避免这些整数值? 类似的东西:

  enum Function {ProcessLibrary;
                 RotateLeft;
                 RotateRight;
                 ...}

1 个答案:

答案 0 :(得分:2)

不,基本上。这是为了防止在添加/删除枚举时出现巨大错误,以及允许非连续枚举。

在大多数现实情况下,名称列表已在其他地方定义,您可以编写一个5行脚本来将=n添加到每个 - heck,电子表格计算和“填充”将会持续很长时间它的方法 - 将名称粘贴到第一列,将生成的行复制到第二列。