Go Protobuf学习笔记
Protocol Buffers 简介
protobuf 即 Protocol Buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储的,占用空间小,但也带来了可读性差的缺点。protobuf 在通信协议和数据存储等领域应用广泛。例如著名的分布式缓存工具 Memcached 的 Go 语言版本groupcache 就使用了 protobuf 作为其 RPC 数据格式。
Protobuf 在 .proto
定义需要处理的结构化数据,可以通过 protoc
工具,将 .proto
文件转换为 C、C++、Golang、Java、Python 等多种语言的代码,兼容性好,易于使用。
Windows安装
下载protobuf的编译器protoc
访问https://github.com/google/protobuf/releases
下载解压出protoc.exe(bin目录下的文件)文件放入gopath下的bin目录
protoc-gen-go
首先确保GO111MODULE是打开的
我们需要在 Golang 中使用 protobuf,还需要安装 protoc-gen-go,这个工具用来将 .proto
文件转换为 Golang 代码。
go install github.com/golang/protobuf/protoc-gen-go
protoc-gen-go 将自动安装到 $GOPATH/bin
目录下,也需要将这个目录加入到环境变量中。