1 go grpc-go 相关技术专栏 总入口
2 Protobuf介绍与实战 图文专栏 文章目录
假设一条消息里包含多个字段,如果此时只允许最多一个字段生效的话,可以使用Oneof功能;
可以节省内存的效果
设置Oneof 的任何成员都会自动清除所有其他成员。
可以使用case()或WhichOneof()方法检查Oneof 中的哪个值被设置(如果有的话),具体取决于您选择的语言
看一个测试用例:
也就是说,
nodeInfo中的ip和hostname只有一个生效;
初始化赋值时,使用了ip属性,那么hostname属性就不会生效了。反之