https://github.com/golang/protobuf
protoc-gen-go
是protoc中的插件,它为输入原型定义生成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?
答案 0 :(得分:4)
protoc-gen-go是一个protoc插件。我为下面的自定义工作编写了另一个协议插件的示例。我还使用了调用其他插件的插件。
https://github.com/drekle/protoc-gen-goexample
Protoc通过名称protoc-gen-<PLUGIN_NAME>
查找这些插件,它希望是您路径中的二进制文件,并将解释所传递的args,例如,插件的--<PLUGIN_NAME>_out
而不是--go_out