摘要:
Defining Services - 定义服务 如果要在RPC(Remote Procedure Call,远程过程调用)系统中使用消息类型,可以在.proto文件中定义RPC服务接口,协议缓冲区编译器将根据所选语言生成服务接口代码和存根。因此,例如,如果您想用一个方法定义一个RPC服务,该方法接 阅读全文
posted @ 2021-01-13 18:14
Theo·Chan
阅读(566)
评论(0)
推荐(0)
摘要:
Packages - 包 可以向.proto文件中添加可选的package明符,以防止协议消息类型之间的名称冲突。 package foo.bar; message Open { ... } 然后你可以在定义你的消息类型的字段时使用包说明符: message Foo { ... foo.bar.Op 阅读全文
posted @ 2021-01-13 18:11
Theo·Chan
阅读(305)
评论(0)
推荐(0)
摘要:
Maps - 映射 如果要创建关联映射作为数据定义的一部分,协议缓冲区提供了一种方便的快捷语法: map<key_type, value_type> map_field = N; …其中key_type可以是任何整型或字符串类型(因此,除了浮点类型和字节之外的任何标量类型)。注意enum不是一个有效 阅读全文
posted @ 2021-01-13 18:10
Theo·Chan
阅读(332)
评论(0)
推荐(0)
摘要:
Oneof - Oneof结构 如果消息包含多个字段,并且最多只能同时设置一个字段,则可以使用oneof功能强制执行此行为并节省内存。 oneof字段与常规字段类似,但oneof共享内存中的所有字段除外,并且oneof最多只能同时设置一个字段。设置oneof的任何成员将自动清除所有其他成员。您可以使 阅读全文
posted @ 2021-01-13 18:09
Theo·Chan
阅读(2542)
评论(0)
推荐(0)
摘要:
未知字段和任意类型篇幅较少,因此将他们合并到本文进行描述。 Unknown Fields - 未知字段 未知字段是格式良好的协议缓冲区序列化数据,表示解析器无法识别的字段。例如,当一个旧二进制代码解析一个带有新字段的新二进制代码发送的数据时,这些新字段在旧二进制代码中成为未知字段。 最初,proto 阅读全文
posted @ 2021-01-13 17:32
Theo·Chan
阅读(1495)
评论(0)
推荐(0)
摘要:
Updating A Message Type - 更新消息类型 如果现有的消息类型不再满足您的所有需要(例如,您希望消息格式有一个额外的字段),但是您仍然希望使用用旧格式创建的代码,不要担心!在不破坏任何现有代码的情况下更新消息类型非常简单。记住以下规则: 不要更改任何现有字段的字段编号。 如果添 阅读全文
posted @ 2021-01-13 17:28
Theo·Chan
阅读(320)
评论(0)
推荐(0)
摘要:
Nested Types - 嵌套类型 您可以在其他消息类型中定义和使用消息类型,如以下示例所示——这里的Result消息是在SearchResponse消息中定义的: message SearchResponse { message Result { string url = 1; string 阅读全文
posted @ 2021-01-13 17:18
Theo·Chan
阅读(579)
评论(0)
推荐(0)
摘要:
Using Other Message Types - 使用其他消息类型 可以将其他消息类型用作字段类型。例如,假设您希望在每个SearchResponse消息中包含Result消息——为此,您可以在同一.proto中定义Result消息类型,然后在SearchResponse中指定类型为Resul 阅读全文
posted @ 2021-01-13 17:16
Theo·Chan
阅读(392)
评论(0)
推荐(0)
摘要:
枚举类型 定义消息类型时,可能希望其中一个字段只包含预定义值列表中的一个。例如,假设您想为每个SearchRequest添加一个corpus(语料库)字段,其中语料库的值可以是UNIVERSAL、WEB、IMAGES、LOCAL、NEWS、PRODUCTS或VIDEO。您只需在消息定义中添加一个枚举 阅读全文
posted @ 2021-01-13 17:12
Theo·Chan
阅读(1619)
评论(0)
推荐(0)
摘要:
默认值 解析消息时,如果编码的消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值。这些默认值是特定于类型的: string:默认值为空字符串 bytes:默认值为空字节 boolean:默认值为false 数值类型:默认值为0 枚举:默认值为第一个定义的枚举值,该值必须是0 消息 阅读全文
posted @ 2021-01-13 17:10
Theo·Chan
阅读(1253)
评论(0)
推荐(0)

浙公网安备 33010602011771号