protoc 和 protoc-gen-go 产生的 proto 文件代码对比
ghj1976 · · 11151 次点击 · · 开始浏览protoc 命令来自 https://github.com/google/protobuf, 由于这里没有 go 的产生代码, go的产生代码在 protoc-gen-go (https://github.com/golang/protobuf/)这里。
$ protoc --go_out=./go/ ./proto/helloworld.proto
$ protoc --go_out=plugins=grpc:./go2/ ./proto/helloworld.proto
上面两个命令,第一个产生的只是 protobuffer 文件序列化和反序列化的代码。
第二个产生的则除了第一个的代码外,还增加服务器和客户端通讯、实现的公共库代码。
https://github.com/grpc/grpc-go 这里的代码对应的包名是: google.golang.org/grpc 这里只是一些公共函数库, protoc 和 protoc-gen-go 这两个工具都不在这里。
产生 protoc-gen-go 这个工具的方法如下:
$ go get -u github.com/golang/protobuf/protoc-gen-go
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
protoc 命令来自 https://github.com/google/protobuf, 由于这里没有 go 的产生代码, go的产生代码在 protoc-gen-go (https://github.com/golang/protobuf/)这里。
$ protoc --go_out=./go/ ./proto/helloworld.proto
$ protoc --go_out=plugins=grpc:./go2/ ./proto/helloworld.proto
上面两个命令,第一个产生的只是 protobuffer 文件序列化和反序列化的代码。
第二个产生的则除了第一个的代码外,还增加服务器和客户端通讯、实现的公共库代码。
https://github.com/grpc/grpc-go 这里的代码对应的包名是: google.golang.org/grpc 这里只是一些公共函数库, protoc 和 protoc-gen-go 这两个工具都不在这里。
产生 protoc-gen-go 这个工具的方法如下:
$ go get -u github.com/golang/protobuf/protoc-gen-go