Go语言使用Protobuf

安装protoc

下载地址:link在这里插入图片描述
windows直接下载,将protoc.exe放入gopath下的bin目录。在这里插入图片描述
linux需要编译,网上有相关教程,这里不做演示了。

安装protobuf

安装库文件

go get -u github.com/golang/protobuf/proto

安装工具

1、go get -u github.com/golang/protobuf/protoc-gen-go
2、创建test.proto文件

syntax = "proto3"; //版本号
package pb;  //包名
option go_package = "./";//需要指明生成的go文件路径
enum ClassName{//枚举
  class1 = 0;  //标号 必须从 0开始
  class2 = 1;
  class3 = 2;
}
message Student{//消息,对应于Go的结构体
  string name = 1; //1:标号,唯一 即可(相当于数据库中的Id,不一定要从1 ,2的顺序依次排列。)
  int32 age = 2;  //必须指定整型的范围,如int32,int64
  string address = 3;
  ClassName cn = 4;
}
message Students{
  repeated Student person = 1;  // repeated 修饰,相当于Go中切片
  string school = 2;
}

3、执行protoc --go_out=. *.proto生成test.pb.go文件。
在这里插入图片描述
需要注意的是在编写proto文件时需要指明生成go文件的路径,否则会出现如下错误:
在这里插入图片描述

安装gogoprotobuf

安装库文件

go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/gogoproto  //这个不装也没关系

安装工具

//gogo
go get github.com/gogo/protobuf/protoc-gen-gogo
//gofast
go get github.com/gogo/protobuf/protoc-gen-gofast

生成go文件

//gogo
protoc --gogo_out=. *.proto
//gofast
protoc --gofast_out=. *.proto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值