protobuf数据类型_protobuf【1】

protobuf

1. 为什么使用protobuf

Protobuf 是结构化数据 序列化框架。

3bad76acc853a81c7ca7b90e0726df69.png

2. 什么是序列化

将对象或者结构化数据 转换成可以便于存储和传输的数据格式。要保证序列化之后的结果 能被重新建立回原来的对象或数据。

3. Protobuf 为什么更快 更小

转成二进制 有压缩

abf312d69d955572197b33c97439f121.png

4 如何编写.proto 文件

关键字

77f48c6721e72105d85f6e52f7f5d330.png

Proto3 删除了optional 与 required

syntax = "proto2";

package tutorial;

option java_package = "com.example.tutorial";

option java_outer_classname = "AddressBookProtos";

message Person {

  required string name = 1;

  required int32 id = 2;

  optional string email = 3;

  enum PhoneType {

    MOBILE = 0;

    HOME = 1;

    WORK = 2;

  }

  message PhoneNumber {

    required string number = 1;

    optional PhoneType type = 2 [default = HOME];

  }

  repeated PhoneNumber phones = 4;

}

message AddressBook {

  repeated Person people = 1;

}

5 常用数据类型与java 对照

proto

java

Int32

int

string

String

double

double

enum

enum

Int 64

Long

d9a3304f3a68bb6596ca7aec4fbfdeb0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值