Protobuf 空字符串作为 ENUM 名称
Protobuf empty string as ENUM name
假设我有这个 Protocol Buffers 模式:
message Person{
enum Height{
UNDEFINED = 0;
TALL = 1;
SHORT = 2;
}
HEIGHT Height = 1;
}
是否可以使用空字符串 (""
) 而不是 UNDEFINED
?
不,不是。枚举名称用于在大多数(所有?)语言中生成一个成员,该成员通常是一个标识符,因此需要一个名称。由于在某些语言(C++,咳咳)中如何为多个枚举定义成员解析,您 可能 还想为名称添加前缀,这样您就可以拥有多个 UNDEFINED
.
就我个人而言,我更关心“高”、“矮”或“未定义”的高度选项有多模糊、过载和限制。
假设我有这个 Protocol Buffers 模式:
message Person{
enum Height{
UNDEFINED = 0;
TALL = 1;
SHORT = 2;
}
HEIGHT Height = 1;
}
是否可以使用空字符串 (""
) 而不是 UNDEFINED
?
不,不是。枚举名称用于在大多数(所有?)语言中生成一个成员,该成员通常是一个标识符,因此需要一个名称。由于在某些语言(C++,咳咳)中如何为多个枚举定义成员解析,您 可能 还想为名称添加前缀,这样您就可以拥有多个 UNDEFINED
.
就我个人而言,我更关心“高”、“矮”或“未定义”的高度选项有多模糊、过载和限制。