栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go 使用 Protobuf

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go 使用 Protobuf

Protobuf核心的工具集是C++语言开发的,在官方的protoc编译器中并不支持Go语言。要想基于上面的hello.proto文件生成相应的Go代码,需要安装相应的插件。首先是安装官方的protoc工具,可以从 https://github.com/google/protobuf/releases 下载。然后是安装针对Go语言的代码生成插件,可以通过 下载protobuff
https://github.com/google/protobuf/releases

 我是win10 系统64位的  ,下载相应的包

2.将下载的文件放入D盘,然后添加环境变量

 

 3.测试环境变量是否OK

 4.下载 protoc-gen-go
go get -u github.com/golang/protobuf/protoc-gen-go

若如上命令执行失败,请配置代理
go env -w GO111MODULE=on  //打开模块
go env -w GOPROXY=https://goproxy.cn,direct //启用代理

安装gRPC

go get -u google.golang.org/grpc

不过由于国内的网络原因上面的命令可能不会成功

执行下面的多条命令来代替

git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net

git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text

git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto

git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc

protoc-gen-go.exe  存放的位置在你的go安装目录下的bin目录下面

 如果没有的话 在命令行输入 go env  查看  GOPATH= 的路径,看一下是否存放在 GOPATH 下面 的bin 目录中

 5.然后将 protoc-gen-go.exe 放入 protoc.exe 安装目录中

 6.创建 hello.proto 内容如下
syntax = "proto3";
option go_package="./;hello";
package service;
message ProdRequest{
    int32 Prod_id = 1;
}

message ProdResponse{
    int32 Prod_stock = 1;
}

说明 

option go_package = "path;name";
 
path 表示生成的go文件的存放地址,会自动生成目录的。
name 表示生成的go文件所属的包名

然后通过以下命令生成相应的Go代码:

protoc --go_out=. hello.proto

 常用命令

protoc --go_out=. ./helloworld.proto 

protoc --go_out=plugins=grpc:. hello.proto 

protoc --go-grpc_out=. hello.proto 

大功告成

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944243.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号