【发布时间】:2020-02-14 21:25:08
【问题描述】:
考虑以下 protobuf:
message SendRequest {
/** The raw text of the message that the caller wishes to send. */
optional string message = 1;
}
请注意,字符串message 被用作字段名称。 protobuf 编译器似乎对此没问题,即使 message 是 protobuf 关键字。
这种用法是否符合某些标准,因为关键字是由某些标准定义的,在字段名称中会被忽略,或者这会在将来破坏我的应用程序吗?
【问题讨论】:
-
这是一个很好的问题。我认为在这种情况下应该没问题(基本上是上下文关键字而不是保留关键字),但是......我可以命名消息
repeated吗?还有其他边缘情况吗?最终,这里的规范是相当非正式的,以至于我猜你可以说“protoc”作为参考实现定义了 DSL。不过,我敢打赌,我处理的情况并不相同! (我有自己独立的 proto 解析器)
标签: protocol-buffers