Golang生成GRPC(最简单教程)

作者: 想入飞飞___ | 来源:发表于2017-12-19 16:26 被阅读35次

    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生成GRPC(最简单教程)

        本文链接:https://www.haomeiwen.com/subject/ifzbwxtx.html