如何创建Protobuf GO插件



https://github.com/golang/protobuf

protoc-gen-go是原始插件,生成输入原始定义的GO BINDING。

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?

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

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

protoc通过名称 protoc-gen-<PLUGIN_NAME>找到这些插件,它希望它是您路径中的二进制文件,并将解释它传递的args,例如 --<PLUGIN_NAME>_out,而不是 --go_out for plugin

最新更新