假设我有这样一个协议缓冲区模式:
message Person{
enum Height{
UNDEFINED = 0;
TALL = 1;
SHORT = 2;
}
HEIGHT Height = 1;
}
是否可能有一个空字符串(""
)而不是UNDEFINED
?
不,不是。在大多数(所有?)语言中,枚举名称用于生成成员,该成员通常是标识符,因此需要名称。由于在某些语言(c++,咳)中如何为多个枚举定义成员解析,您可能还希望为名称加上前缀,以便您可以有多个UNDEFINED
。
就我个人而言,我更关心的是"tall", "short"或"undefined"的高度选项是如何模糊,重载和限制的。