消息字段可以是一下之一:
- singular:消息类型中只能拥有零个或一个此字段,这是proto3语法默认的字段规则
 
- repeated:消息类型中可以重复使用该字段,重复值的顺序将被保留
 
上面的解释是官方文档中的解释,经过我的实验,我觉得可以这么解释:
- singular:单纯的一个字段
 
- repeated:类似于数组
 
实验如下:
1
2
3
4
5
6
7
  | 
message SearchRequest2 {
  string         query           = 1;
  repeated int32 page_number     = 2;
  repeated int32 result_per_page = 3;
}
  | 
 
生成的entity使用方式如下:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  | 
SearchRequest2OuterClass.SearchRequest2.newBuilder()
        .setQuery("query")
        .setPageNumber(0, 10)
        .setPageNumber(1, 10)
        .setPageNumber(2, 10)
        .setResultPerPage(0, 10)
        .setResultPerPage(1, 10)
        .setResultPerPage(2, 10);
  |