作用相似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):}