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
最后修改:2020 年 10 月 28 日
如果觉得我的文章对你有用,请随意赞赏