最近在做一个go语言的项目,数据传输协议使用protobuf,protobuf具有跨平台、跨语言和数据体积小的优点。网上有很多关于怎么使用protobuf的教程,不再重复介绍,主要记录一下使用protobuf的步骤及遇到的问题。
1. 安装protobuf以及依赖包。
如果选择用命令安装,可能会去github上面下载这些安装包,可能会下载的很慢或者无法下载。
2. 创建demo工程。
3. 编写proto文件,注意包名,否则,可能会出现找不到包的错误。
(1)proto文件中类型定义分三种:optional、requried和repeated,optional表示可选的,可以不给这个字段赋值,requried表示必须的,一定要给这个字段赋值,否则会报错,repeated表示这个字段可以重复,及可以有多个,其实就是一个数组。参考资料如下:
golang 使用 protobuf 的教程 - 怀素真 - 博客园
4. 使用protoc命令生成.go文件。
5. 编写测试代码。
参考资料:
Golang 序列化之 ProtoBuf - Go语言中文网 - Golang中文社区
ubuntu下go语言使用protobuf - Go语言中文网 - Golang中文社区
https://segmentfault.com/a/1190000009277748
golang 使用 protobuf 的教程 - 怀素真 - 博客园