1 go grpc-go 相关技术专栏 总入口
2 Protobuf介绍与实战 图文专栏 文章目录
1、尽量使用optional而非required字段 |
针对的是protobuf 版本2;
protobuf的可选字段optional是一个很巧妙的设计,optional字段是可选的,
一个optional字段存在与否都不影响proto对象的序列化和反序列化,利用它可以实现数据协议的向后兼容和向前兼容,
即以后增加新的字段,或弃用(注意这里是弃用而不是删除)旧字段都不需要修改代码。
相比optional字段,requried字段要求字段必须存在,否则会导致proto解析失败。
一旦某个字段被设计为requried类型,将来随着业务的快速发展可能会成为负担,因此在使用requried类型时一定要慎重