1.定义字符串一般不使用string,使用bytes来代替string。若定义为string,proto底层还是会把string->bytes,虽然不会影响结果,但是在一定程度上还是会浪费效率。
2.其他的数据类型,基本数据,列表,映射表
3.为成员变量设置值 test.proto
message Error { int32 errorCode = 1; bytes errorMsg = 2; message User { bytes name = 1; int32 age = 2; enum Sex { MAN = 0; WOMAN = 1; Sex sex = 3; message GetUserList { Error error = 1; repeated User list = 2;// repeated表示列表 }
main.cc
int main() { GetUserList p; Error* err = p.mutable_error(); err->set_errorcode(1); err->set_errormsg("xxx"); User* user = p.add_list(); user->set_age(10);