一、介绍
Protocol Buffers是一种语言中立、跨平台,用来序列化结构化数据的一阵协议。
主要定义了一个proto文件,就可以在多种编程语言,多种操作系统使用。
我们使用最新的proto3版本。
我们先新建一个 hello.proto文件
mkdir grpc-demo1 && cd grpc-demo1 && mkdir api && cd api && touch hello.proto
➜ grpc-demo1 git:(master) ✗ tree
.
└── api
└── hello.proto
1 directory, 1 file
二、proto文件基础知识
我们先打开hello.proto文件,写入以下代码,然后讲解一下。
一个proto文件的主要构成有 三 部分。
- syntax,package,import 定义协议格式以及proto命名空间,加载其他的proto包名
- go_package 生成go文件 package 名称
- service,message proto文件的内容,service定义grpc,message定义消息
syntax = "proto3";
package hello;
import "google/protobuf/timestamp.proto";
option go_package = "./api;api";
service Say {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
google.protobuf.Timestamp last_updated = 2;
}