一、protobuf 的基本类型和默认值
1.1 基本类型
一个标量消息字段可以包含有一个如下的类型——该表格展示了定义于 .proto 文件中的类型,以及与之对应的、在自动生成的访问类中定义的类型:
- 对于所有的情况,设定值会执行类型检查以确保此值是有效的
- 64位或者无符号32位整形在解码时被表示为 long,但是在设置时可以使用 int 型值设定,在所有的情况下,值必须符合其设置其类型的要求
1.2 默认值
当一个消息被解析的时候,如果被编码的信息部包含一个特定的 singular 元素,被解析的对象所对应的域被设置为一个默认值,对于不同类型指定如下:
- 对于 strings,默认为一个空 string
- 对于 bytes,默认为一个空的 bytes
- 对于 bools,默认为 false
- 对于数值类型,默认为 0
- 对于枚举,默认为第一个定义的枚举值,必须为 0
- 对于消息类型,域没有被设置,确切的消息是根据语言确定的
- 对于可重复域的默认值是空
二、option go_package 的作用
option go_package
在 .proto
文件中指定生成的 Go 代码的包路径。它告诉