【问题标题】:Optional support in Proto3 for GoProto3 for Go 中的可选支持
【发布时间】:2021-12-06 09:21:53
【问题描述】:

在使用 Go 时是否支持 proto3 中的可选支持?我试过这个:

protoc person.proto --go_out=. --experimental_allow_proto3_optional

但出现此错误

person.proto:是一个包含可选字段的 proto3 文件,但代码生成器 protoc-gen-go 尚未更新为支持可选 proto3 中的字段。请询问此代码生成器的所有者 支持proto3可选。--go_out:

所以 proto3 (Go) 不支持可选关键字?

【问题讨论】:

    标签: go protocol-buffers proto proto3


    【解决方案1】:

    protoc 确实支持它,从版本v3.15.0 开始。见release notes

    proto3 的可选字段默认启用,不再需要 --experimental_allow_proto3_optional 标志。

    protoc-gen-go 插件确实从v1.22.0 开始。 Release notes:

    此版本增加了对 protobuf 语言 v3.12.0 版本中的实验性 proto3 可选语义的支持,[...]

    确保将您的protoc-gen-go 升级到v1.22.0 或更高版本。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 2015-12-18
    • 2021-05-30
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2020-03-12
    • 2022-08-06
    相关资源
    最近更新 更多