14

https://github.com/golang/protobuf

protoc-gen-go是 protoc 中的一个插件,它为输入 proto 定义生成 go 绑定。

protoc-gen-go还有一个插件框架,它grpc是一个插件插件 https://github.com/golang/protobuf/tree/master/protoc-gen-go/grpc

$ protoc ./helloworld.proto --go_out=plugins=grpc:.

是否有可能我编写自己的插件并与 grpc 插件一起调用它?

$ protoc ./helloworld.proto --go_out=plugins=grpc+myplugin:.

我是否需要强制将我的插件构建到 protoc-gen-go 中?如果没有,那么 protoc-gen-go 将如何找到 myplugin ?

4

1 回答 1

7

protoc-gen-go 是一个 protoc 插件。我在下面为自定义工作编写了另一个 protoc 插件的示例。我还使用了调用其他插件的插件。

https://github.com/drekle/protoc-gen-goexample

Protoc 按名称查找这些插件protoc-gen-<PLUGIN_NAME>,它希望在您的路径中是二进制文件,并将解释它传递的参数,例如--<PLUGIN_NAME>_out而不是--go_out为您的插件

于 2020-03-30T20:44:22.170 回答