处理Null值
- 使用oneof关键字处理可选字段 定义了一个可选的name字段
message User { oneof user_info { string name = 1; }}- 使用包装类型
例如
google.protobuf.Int32Value,google.protobuf.StringValue等, 将这些可选字段定义为包装类型, 如果字段为空, 那么保证类型的实例也是空
message User { oneof user_info { google.protobuf.StringValue name = 1; }}- 使用默认值处理Null值
message User { oneof user_info { google.protobuf.StringValue name = 1 [default = ""]; }}