篇幅可能较长,可以先收藏,方便后续观看。
Protobuf入门
1. 为什么选择Protobuf
Protobuf是Protocol Buffers的简称,它是Google公司开发的⼀种数据描述语⾔,并于2008年对外开 源。Protobuf刚开源时的定位类似于XML、JSON等数据描述语⾔,通过附带⼯具⽣成代码并实现将结 构化数据序列化的功能。但是我们更关注的是Protobuf作为接⼝规范的描述语⾔,可以作为设计安全的 跨语⾔PRC接⼝的基础⼯具。
1.什么是Protobuf?
Protobuf是Protocol Buffers的简称。
Google 2008年开源的一种数据描述语言。
接口规范的描述语言
附带工具生成代码 并实现 将结构化数据 序列化的功能。
设计安全的跨语言RPC接口的基础工具
2.Protobuf的优势:
编解码效率
高压缩比
多语言支持
2. Go 语言Protobuf开发环境搭建
Protobuf 编译器 :
Protobuf的编译器叫做:protoc(protobuf compiler)
Golang安装使用Protobuf:
1. 下载Protobuf的编译器
- 1.下载protobuf的编译器,点击前往:
- 2.解压,解压位置看你自己,解压后将
/bin/protoc.exe
添加到环境变量里
- 3.测试:
cmd 输入protoc --version
2. 安装go protocol buffers的插件 protoc-gen-go
Protobuf核⼼的⼯具集是C++语⾔开发的,在官⽅的protoc编译器中并不⽀持Go语⾔。要想基于 .proto⽂件⽣成相应的Go代码,需要安装相应的插件。
cmd输入:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
这个插件会自动下载到你的go path的bin目录下。(编译器会自动到这里找这个插件)
3. 实战测试:
创建 myProto.proto
文件
syntax = "proto3"; package main; option go_package = "./"; message String { string name = 1; int64 age = 2; }
注意:如果在上面protoc --version
成功,而这里提示无法识别protoc命令的话,重启一下goland就好了。