我最近gRPC
与proto3
和一起使用,并且注意到了这一点,required
并且optional
已在新语法中将其删除。
有人可以解释一下为什么在proto3中删除了必需/可选吗?此类约束似乎对于使定义更健壮很有必要。
语法proto2:
message SearchRequest {
required string query = 1;
optional int32 page_number = 2;
optional int32 result_per_page = 3;
}
语法proto3:
syntax = "proto3";
message SearchRequest {
string query = 1;
int32 page_number = 2;
int32 result_per_page = 3;
}