syntax = "proto2"; //使用哪种协议 proto2
//syntax = "proto2"; //使用哪种协议 proto3
//注释
/*
字段规则
//protoc这个工具就能把我们的消息编译成对应目标语言的代码
//required 表示该值是必须要设置的,一个格式良好的消息一定要含有1个这种字段
//optional 可以不用设置,如果不设置,将不会被编码进去
//repeated 表示该字段可以被重复多次,重复的值会被顺序保留
数据类型
double 双精度浮点数
float
int32
sint32
uint32
int64 long long
bool
string
bytes
*/
package test; //c/c++是命名空间,java就是package包
enum Direction {
EAST = 1;
SOUTH = 2;
WEST = 3;
NORTH = 4;
}
//字段规则 字段数据类型 字段名字 字段标识号
message my_person { //消息开始
required string name = 1; //1是字段标识号 ,语句结束以分号结尾
required int32 age = 2; //年龄
optional int32 sex = 3; //性别
repeated int32 array_value = 4; //存放int32类型的动态数组,元素可以为空
} //消息结束
//message的嵌套使用
message address_book{
repeated my_person persons = 1; //人物地址联系方式表
}