Protobuf类型

1.基本类型

这些是原始的基本数据类型,用于存储数值和字符串。包括:

  • double:双精度浮点数
  • float:单精度浮点数
  • int32:32 位有符号整数
  • int64:64 位有符号整数
  • uint32:32 位无符号整数
  • uint64:64 位无符号整数
  • sint32:32 位有符号整数(使用变长编码)
  • sint64:64 位有符号整数(使用变长编码)
  • fixed32:32 位固定长度整数
  • fixed64:64 位固定长度整数
  • sfixed32:32 位固定长度有符号整数
  • sfixed64:64 位固定长度有符号整数
  • bool:布尔值
  • string:字符串
  • bytes:字节序列

2.枚举类型

枚举类型用于定义一组可能的取值。每个枚举字段都有一个与之关联的整数值。你可以为每个枚举值指定一个名称和一个整数值。例如:

enum Status {
  OK = 0;
  ERROR = 1;
  CANCELLED = 2;
}

3.消息类型

消息类型是 Protocol Buffers 中最重要的类型之一。它们用于定义复杂的数据结构,可以包含其他字段和消息类型。你可以嵌套消息类型以创建更复杂的数据结构。就好比Java中的类,go中的结构体

message Person {
  string name = 1;
  int32 age = 2;
  repeated string hobbies = 3;
}

4重复字段

重复字段允许你在消息中包含一个字段的多个值。你可以使用 repeated 关键字来定义重复字段。重复字段可以包含基本类型、枚举类型或消息类型。例如:

message MyMessage {
  repeated int32 numbers = 1;
  repeated string names = 2;
  repeated Person contacts = 3;
}

你可能感兴趣的:(go,后端,protobuf)