golang使用protobuf中的oneof
Posted o_ra
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang使用protobuf中的oneof相关的知识,希望对你有一定的参考价值。
作用类似c里的联合体,写配置文件类似
message BBB{
string b=1;
}
message CCC{
int b=1;
}
message AAA {
oneof payload {
BBB b;
CCC c;
}
}
使用的时候导入例如为xxx模块:
创建结构体时候要手动创建oneof里的结构,写法类似:
msg := &xxx.AAA{Payload: &xxx.AAA_BBB{B: &xxx.B{"123"}}}
解析出来判断是BBB还是CCC的时候使用
switch msg.Payload.(type) {
case *(xxx.AAA_BBB):
case *(xxx.AAA_CCC):
}
以上是关于golang使用protobuf中的oneof的主要内容,如果未能解决你的问题,请参考以下文章
protobuf“oneof”子protobuf对象指针杀死程序
为啥protobuf序列化“oneof”消息使用if-else