syntax = "proto3"; // 版本 // 文档:https://developers.google.com/protocol-buffers/docs/proto3 package foo.bar; // 包 // 数据结构 message SearchRequest { // 数据类型 数据字段名称 = 数据编号。数据编号只能递增 string query = 1; int32 page_number = 2; int32 per_page = 3; } message SearchData { int32 id = 1; // string name = 2; 被删除 // int32 age = 3; 被删除 // 常量的内嵌写法 enum Sex { option allow_alias = true; // 将相同的值赋值给不同的常量,这个参数必须为true UNKNOWN = 0; MALE = 1; MAN = 1; FEMALE = 2; WOMAN = 2; } Sex sex = 4; // 注意,这里是序号,常量的默认值统一为0 // 字典类型 map<string, int> tags = 5; // 被删除的字段在兼容旧版本的情况下需标注保留 reserved 3; reserved "name"; } message SearchResponse { int32 ec = 1; string em = 2; // 内嵌数据结构 可用 SearchResponse.Page 引用 message Page { int32 page = 1; int32 per_page = 2; int32 total_page = 3; int32 count = 4; } Page page = 4; // repeated 表示数组 repeated SearchData data = 3; } // 总结:protobuf 与 json 数据类型对比 https://developers.google.com/protocol-buffers/docs/proto3#json // 定义具体的RPC服务 service SearchService { rpc Search (SearchRequest) returns (SearchResponse); }
【Prorobuf】一文学习protobuf语法
2020年01月14日 礼亚酱 未分类 839 0
相关文章
【Prorobuf】一文学习protobuf语法2020年01月14日
【brew】创建一个php71的xhprof安装包2018年03月19日
Window7修改登陆页面图片2017年10月28日
【转】硅谷风投最青睐的 25 个开源项目2017年08月16日
【常用函数】Laravel SQL 日志转换为字符串 函数2017年05月25日
Linux进程间通信——无名管道2017年03月18日
【转】图解开源协议2017年03月16日
2016年度最受欢迎中国开源软件评选2017年01月22日
first commit2016年12月22日
- 搜索
- 最新留言
-
- homebrew-php 凉了....烦....
- Winner Winner Chicken Dinner
- 其实我又发现了一种新的生成方式:https://gist.github.com/reatang/6f8c336e87639a68ce35b00b746649e1
- 测试
- 你应该用Hello World!多有范~
- 这应该是进程的标准输入/输出交互,并不是管道交互……管道需要另开IO……
- 我的理解(未必是对的):分层、模块、组件属于不同角度的切分,可以想象一个立方体,在垂直层面上切,这叫(分)层,在水平面上切这叫(模)块,如果竖着拿出一列来,这叫一个组(件);层与层之间的关系叫切面;块与块之间的关系叫调用和依赖;组与组之间的关系叫接口
- 战场原~荡漾~
- 生成自签名:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 老Tang司机你好
- 文章归档
- 网站收藏