Protoc 简介
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准。他们用于 RPC 系统和持续数据存储系统。提供一个具有高效的协议数据交换格式工具库(类似Json)。
但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。
可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 、OC、Swift等语言的 API。总结一句话就是很好,支持多平台且与语言无关。
安装
1.安装 protoc
- 下载链接:点击跳转
- 下载 protoc-x.x.x-win64.zip
- 将 protoc-x.x.x-win64.zip 中的 protoc.exe 拷贝到
C:\\windows\\system32
中
2.安装 micro protobuf
go get github.com/golang/protobuf/proto
3.安装 gen-proto-go 插件
go get github.com/golang/protobuf/protoc-gen-go
4.安装 protoc-gen-micro 插件
go get github.com/micro/micro/v2/cmd/protoc-gen-micro@master
- 上面安装好后,会在GOPATH/bin下生成
protoc-gen-go.exe
protoc-gen-go-micro.exe
protoc-gen-micro.exe
- 将
protoc-gen-go.exe
protoc-gen-go-micro.exe
protoc-gen-micro.exe
三个文件复制进C:\\windows\\system32
中
5.建立 hello.proto 文件
这里我们借用 go-micro 的演示文件进行测试
syntax = "proto3";
service Greeter {
rpc Hello(Request) returns (Response) {}
}
message Request {
string name = 1;
}
message Response {
string greeting = 2;
}
6.编译
编写原型定义后, 我们必须使用带有 micro plugin
的 protoc 编译它
protoc --micro_out=. --go_out=. hello.proto