Golang生成GRPC(最简单教程)

96
想入飞飞___
2017.12.19 16:26 字数 386

0.下载protocbuf 生成器

从下面网站直接下载编译好的proctoc 生成器,点击 "protoc-3.5.0-win32.zip"直接下载,当然也可以下载源码进行编译,比较麻烦,不推荐。
https://github.com/google/protobuf/releases

QQ截图20171219153851.png

1.安装GRPC

直接go get 安装

go get github.com/grpc/grpc-go

2.安装protocbuf

go get github.com/golang/protobuf

然后进入项目目录src\github.com\golang\protobuf\protoc-gen-go中
在protoc-gen-go目录下依次执行命令

 go build   
 go install

此时gopath bin目录下生成一个protoc-gen-go.exe可执行程序,这个是用来生成grpc的插件

如果嫌麻烦也可以用以下命令来代替上面:

go get -u github.com/golang/protobuf/protoc-gen-go #golang 插件

添加"-u"可以直接编译安装
把gopath下的bin加入windows path(如果不想添加把它和protocbuf 生成器放在同一个目录中也可以,参考最下边图)

3 生成

把protocbuf 生成器和proto文件放在一个目录下,执行

protoc --go_out=plugins=grpc:. *.proto   //"."和"*"之间有个空格,不然会出错
protoc -I=proto --go_out=plugins=grpc:. base.proto

“*”换成你的proto文件名

如果指定proto文件路径可以加“-I”来指定,“-I”是“–proto_path”的简写

protoc -I=proto --go_out=plugins=grpc:. *.proto

如果想生成文件后都放到另外一个目录下,比如放到grpc目录下

protoc -I=proto --go_out=plugins=grpc:./grpc *.proto

嫌每次都要输入命令行可以写成批处理,如图


不知道叫什么.png

如果觉得还是不方便,可以用golang exec包来执行命令生成,这样每次编译的时候自动生成,完全做到了不用管,只要把文件拖进去就好了。

Golang