首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >protobuf 3中的非官方必需字段

protobuf 3中的非官方必需字段
EN

Stack Overflow用户
提问于 2019-12-04 11:01:37
回答 2查看 1K关注 0票数 1

我知道这个问题.

我正在考虑使用Protobuf 3作为文件格式,因为它具有高效的编码、显式的模式和广泛的支持。然而,模式的一个非常不方便的部分是它不允许必需的字段。

谷歌在Protobuf 3中删除所需的字段是有其原因的。他们遇到的问题是真实的(删除所需的字段是一个巨大的改变),但是他们的解决方案是无稽之谈。

无论如何,我的问题是: Protobuf 3允许您为字段添加自定义选项。是否有人使用该(或其他方法)向Protobuf 3添加对所需字段的非官方支持?

EN

回答 2

Stack Overflow用户

发布于 2019-12-05 13:35:31

是否希望使用Protobuf对文件格式进行隐式验证,即如果数据中不存在所需字段,是否希望文件解析失败?如果是这样的话,您可以使用包装器类型,如果您尝试从一个不存在的字段读取它们的值,它们将触发一个错误。

票数 0
EN

Stack Overflow用户

发布于 2020-09-16 15:15:49

Dropbox的锈蚀库支持注释来实现这一点!

  • (gogoproto.nullable)=false生成非空字段类型。
  • (rust.nullable)=false以非空的形式生成一个(反序列化失败)
  • (rust.err_if_default_or_unknown)=true以非零的形式生成枚举(反序列化失败)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59174472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档