乐趣区

关于protobuf: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):
}
退出移动版