协议模块

用于协议消息处理的模块。

成员

encode_text

string ProtoModule.encode_text(x)

以文本格式协议消息的形式返回结构体参数的编码。 数据结构必须递归地由字符串、整型、浮点型或布尔值组成,或者由这些类型的结构体、序列和字典组成。

结构体会转换为消息。字段按名称顺序发出。

序列(例如列表或元组)转换为重复字段。 其元素不能是序列或字典。

字典会转换为包含名为“key”和“value”的字段的重复字段。 条目按迭代(插入)顺序发出。字典的键必须是字符串、整数或布尔值,并且它的值不能是序列或字典。示例:

struct(field=123).to_proto()
# field: 123

struct(field=True).to_proto()
# field: true

struct(field=[1, 2, 3]).to_proto()
# field: 1
# field: 2
# field: 3

struct(field='text').to_proto()
# field: "text"

struct(field=struct(inner_field='text')).to_proto()
# field {
#   inner_field: "text"
# }

struct(field=[struct(inner_field=1), struct(inner_field=2)]).to_proto()
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

struct(field=struct(inner_field=struct(inner_inner_field='text'))).to_proto()
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

参数

参数 说明
x 必需