0
点赞
收藏
分享

微信扫一扫

【go】go中使用Protobuf

生活记录馆 2022-02-14 阅读 72

protobuf

ProtoBuf (Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域。以 .proto为后缀,有自己的编译器。

1-安装并添加环境变量

  • https://github.com/protocolbuffers/protobuf/releases下载安装包

  • 下载解压后在bin目录下有程序:protoc.exe

# 把bin目录添加到环境变量,  如:D:\CurriculumNeeds\SelfTaught\19go\bin
# 添加环境变量后,cmd查看版本:输出:libprotoc 3.19.4
protoc --version   

2-准备中间文件 xxx.proto

// 如:中间文件所在目录:src/proto/jhfs.proto
syntax="proto3";
package services;
message ProdRequest {
	int32 prod id =1; //传入的商品 1=确认顺序
}
message ProdResponse{
	int32 prod stock=1;//商品库存
}

3-添加go编译器插件

# 安装插件  会在GOPATH的bin目录下生成可执行文件. protobuf的编译器插件protoc-gen-go.exe等下执行protoc命令时就会自动调用这个插件
go get github.com/golang/protobuf/protoc-gen-go

4- protoc编译.proto为go文件件

# 将中间文件生成为grpc的go文件
protoc --go_out=./src/proto ./src/jhfs.proto     # 这个生成后没有client 用如下命令
protoc --go_out=plugins=grpc:./src/proto/ ./src/proto/jhfs.proto
举报

相关推荐

0 条评论