protoc-gen-gogo 总是在消息中的字段后附加一个“_”

protoc-gen-gogo always appends a '_' to the field in the message

go尝试通过protoc-gen-gogo生成golang pb.go文件。但似乎有一个特定字段 'uint64 sizeis always generated asSize_` 带有意外的 _

留言是

message T {
    uint64 size = 1;
}

=>

pb.go中的定义是

type T struct {
    Size_ ....
}

因此我的编辑器总是弹出一个错误,就像没有定义 Size_

我生成的命令是

protoc(v3) --gogo_out=. --gogo_opt=paths=source_relative *.proto

下划线可能会附加到可能与 protoc-gen-go 生成的名称发生冲突的字段名称中。 Size() 方法是生成器创建的用于获取 protobuf 消息大小的基本方法之一。这同样适用于目标语言(在本例中为 Golang)反转的关键字。