数据类型 特殊数据类型 类型 描述 message 描述一个请求或响应的消息格式,可以包含多种类型的字段 service 定义一个 RPC 服务接口,protoc 编译器可以根据定义生成服务接口代码 定义一个简单的服务 hello.proto:
message HelloRequest { string name = 1;}message HelloResponse { string msg = 1;}service HelloService { rpc SayHello (HelloRequest) returns (HelloResponse) {}}代码生成 使用 protoc 编译器可以根据 .proto 文件生成各个语言的代码,比如生成 Golang 代码:
protoc --go_out=. hello.proto 其中,参数 --go_out=. 表示使用名为 protoc-gen-go 的工具(--XX_out 对应于 protoc-gen-XX),在相对于 proto 文件为 . 的路径下生成后缀为 .pb.go 的代码。
生成代码之后,我们可以看到对于我们定义的 message 生成的 struct: