一、介绍
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;
}