package test_namespace;message ChildMsg {optional string child = 1;
}message FatherMsg {optional string father = 1;    optional ChildMsg child_msg = 2;
}

或者

message FatherMsg {optional string father = 1;    message ChildMsg {optional string child = 1;}optional ChildMsg child_msg = 2;
}

上述两种生成的test.pb.h不同, 但get set一样

#include <stdio.h>
#include <iostream>
#include <string>#include "test.pb.h"using namespace std;int main()
{test_namespace::FatherMsg father_msg;father_msg.set_father("fathermsg");    father_msg.mutable_child_msg()->set_child("childmsg");cout << father_msg.has_father() << endl;cout << father_msg.has_child_msg() << endl;cout << father_msg.child_msg().has_child() << endl;cout << father_msg.father() << endl; cout << father_msg.child_msg().child() << endl;return 0;
}

转载于:https://www.cnblogs.com/helloweworld/p/4211307.html

protobuf---messge嵌套get set相关推荐

  1. protobuf 中的嵌套消息的使用 主要对set_allocated_和mutable_的使用

    protobuf的简单的使用,不过还留下了一个问题,那就是之前主要介绍的都是对简单数据的赋值,简单数据直接采用set_xx()即可,但是如果不是简单变量而是自定义的复合类型变量,就没有简单的set函数 ...

  2. protobuf反射详解

    本文主要介绍protobuf里的反射功能,使用的pb版本为2.6.1,同时为了简洁,对repeated/extension字段的处理方法没有说明. 最初是起源于这样一个问题: 给定一个pb对象,如何自 ...

  3. 简单protobuf

    protobuf的数据类型,有最简单的那种数据类型,就是一个文件中,定义了一个message 可以在一个文件中定义两个message,两个message之间是没有关联的 可以在一个文件中,定义两个me ...

  4. google ProtoBuf开发者指南

    目录 1   概览 1.1   什么是protocol buffer 1.2   他们如何工作 1.3   为什么不用XML? 1.4   听起来像是为我的解决方案,如何开始? 1.5   一点历史 ...

  5. ProtoBuf格式详解

    "介绍protobuf编码格式." protobuf是一种数据交换格式,又称PB编码,由Google开源,类似于Json.XML,但其内部是纯二进制格式,比Json,XML等格式要 ...

  6. Netflix实用API设计 1:Protobuf FieldMask实践

    背景 在 Netflix,我们大量使用 gRPC 来实现后端到后端的通信.当我们处理请求时,知道调用者对哪些字段感兴趣以及忽略哪些字段通常是有益的.某些响应字段的计算成本可能很高,某些字段可能需要远程 ...

  7. 深入理解 ProtoBuf 原理与工程实践(概述)

    ProtoBuf 作为一种跨平台.语言无关.可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储.随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代R ...

  8. protobuf前后端解析_Go语言微服务架构实战:第七节 Protobuf协议语法及原理

    Protobuf 协议语法 message:Protobuf中定义一个数据结构需要用到关键字message,这一点和Java的class,Go语言中的struct类似. 标识号:在消息的定义中,每个字 ...

  9. protobuf与protoc-gen-go

    from: https://studygolang.com/articles/12673?fr=sidebar 什么是protobuf Protobuf(Protocol Buffer)是google ...

  10. Protobuf 的 proto3 与 proto2 的区别

    Protobuf 的 proto3 与 proto2 的区别 转载自:https://solicomo.com/network-dev/protobuf-proto3-vs-proto2.html 这 ...

最新文章

  1. java 折半插入排序_[Java代码] Java实现直接插入排序和折半插入排序算法示例
  2. cisco设备常用命令
  3. HDU1212(大数取模-秦九昭算法)
  4. 【图论专题】欧拉路径和欧拉回路
  5. closewait一直不释放_机床为什么要释放应力?怎么释放应力才好?
  6. 三羊献瑞(暴力破解)
  7. 错误 Every derived table must have its own alias
  8. 词嵌入:探索解释和利用
  9. div+css 布局下兼容IE6 IE7 FF常见问题
  10. golang 将对象转换成string_Golang 匿名 struct 解码数据技巧
  11. 4种常用压缩格式在hadoop中的应用
  12. 使用百度echarts仿雪球分时图(二)
  13. windows下调用外部exe程序 SHELLEXECUTEINFO
  14. 学习C语言编程必备的入门书籍
  15. LeetCode 105. 从前序与中序遍历序列构造二叉树(dfsdfs、边界判定情况、做一题送一题)
  16. 华为asph是什么型号_华为手机各系列有什么区别 华为手机各系列介绍
  17. wps中的格式化快捷键
  18. 【模板】高精度取余函数
  19. C语言找出数组中最小的数和它的下标
  20. 12个黑科技网站,每个都是十分良心了 zt – 步行街主干道 – 虎扑社区

热门文章

  1. ipguard客户端如何卸载_客户端navicat遇到问题怎么办?
  2. php yii框架源码,yii 源码解读
  3. python图片二值化处理百度图api_Python+百度AI实现图像处理-附源码
  4. 背英语单词很困难,不妨学习一下词根词缀吧(每天10个词根、词缀)Part 1
  5. 数据库课程设计结论_结论
  6. centos有趣软件包_这5个软件包使学习R变得有趣
  7. 嘉年华回顾丨阿里云吕漫漪带你一览POLARDB整体架构设计...
  8. 贷款被拒,因为你的征信黑洞太多
  9. 一个法国摄影师在中国
  10. Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench