protobuf3 自定义option_protobuf3基础语法

本文介绍了protobuf3的基础语法,包括message、service、变量类型、修饰符、默认值以及枚举类型。 Protobuf3提供了一种高效的数据序列化方式,适用于数据存储和网络传输。文章还讨论了自定义option,如go_package,并提及了gRPC服务的定义和rpc方法类型。
摘要由CSDN通过智能技术生成

简介

ProtoBuf (Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,同类型有常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域,目前已经发展到protoc3 版本。

优点:空间效率高,时间效率要高,对于数据大小敏感,传输效率高的

缺点:消息结构可读性不高,序列化后的字节序列为二进制序列不能简单的分析有效性

基本结构

syntax="proto3"; //文件第一行指定使用的protobuf版本,如果不指定,默认使用proto2

package services; //定义proto包名,可以为.proto文件新增一个可选的package声明符,可选

option go_package = ".;services"; //声明编译成go代码后的package名称,可选的,默认是proto包名

message ProdRequest{ //messaage可以理解为golang中的结构体,可以嵌套

int32 prod_id=1; //变量的定义格式为:[修饰符][数据类型][变量名] = [唯一编号] ,同一个message中变量的编号不能相同

}

message ProdResponse{

int32 pro_stock=1;

}

service ProdService{ //定义服务

rpc GetProdStock (ProdRequest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值