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