protobuf一些认识

1. 存储方式

可以让一个int数据类型的存储根据值的大小而自动改变存储的字节数,因此很省内存。

存储的时候是按键值方式存储,键包含字段类型和字段标签

键和值在同一个字节流中

https://www.cnblogs.com/liangjf/p/10642230.html

https://www.jianshu.com/p/419efe983cb2


2.使用

一个proto文件的定义通常长这样

message相当于C++的class

message中的属性包括:标注+类型+属性名+属性顺序号+[默认值]

2.1 标注

required表示该属性为必选属性

optional表示该属性为可选属性,不指定,使用默认值

repeated表示该属性为重复字段,可看作是动态数组,类似于C++中的vector

2.2 属性顺序号

属性顺序号需要按照顺序进行定义,且不允许有重复

https://blog.csdn.net/qq_41204464/article/details/95631781

https://blog.csdn.net/qq_41204464/article/details/95631781

你可能感兴趣的:(protobuf一些认识)