go - 如何在 proto3 中复制未知字段功能?

标签 go protocol-buffers grpc proto3

Google 删除了 proto3 中的未知字段。我很想听听这个选择背后的原因。此外,如果有人有任何方法可以复制 proto2 行为,我很乐意听到。

如果重要的话,我们正在用 Go 编写代码。

作为 proto3 和 grpc是并行开发的,我也想接触 grpc 社区。

来源:Removal of unknown fields

最佳答案

摆脱基元的字段存在使得 Protobuf 在许多语言中更加“自然”和高效,因为 C/C++、Java、C# 和 Go 中的基元必须存在。在这样的语言中,如果你想要存在信息,你可以通过使它成为一个指向原语的指针来“装箱”原语。

Protobuf 3 摆脱了原语的存在,但仍然有消息。因此,您可以对 Protobuf 使用相同的“装箱”技术。 Protobuf 现在有 standard messages that box primitives .

关于go - 如何在 proto3 中复制未知字段功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29505302/

相关文章:

go - 在 Buffalo 中集成 Sentry 和 Elastic APM

Golang - 从工作区终端 curl 我的端点

go - 合并任意类型数组的惯用和DRY解决方案

c++ - Protocol Buffer ParseFromString 不检查消息结尾

ios - Protocol buffer 代码针对 iOS 模拟器进行编译,但不适用于设备

python - 异步链接 grpc 调用

Go - Web 服务器在同一端口上监听多个协议(protocol)(HTTP 和 RTMP)

c++ - 在 Protocol Buffer 消息中存储二进制数据缓冲区

kubernetes - 为什么无法访问在Minikube中运行的gRPC REST服务?

grpc - 对健康检查协议(protocol)感到困惑