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):
}

本文来自:Segmentfault

感谢作者:.container .card .information strong

查看原文:golang使用protobuf中的oneof

相关阅读 >>

Golang gin框架国内安装方法

Golang基础数据类型-浮点型

Golang中判断两个slice是否相等

Golang实现选择排序

Go 在百万亿级搜索引擎中的应用

Golang基础数据类型字符串

手撸Golang 基本数据结构与算法 插入排序

基于 mysql 分布式锁,防止多副本应用初始化数据重复

beeGo项目和Go项目 打包部署到linux

[系列] Go - 常用签名算法的基准测试

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...