一、介绍

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.proto1 directory, 1 file

二、proto文件基础知识

咱们先关上hello.proto文件,写入以下代码,而后解说一下。
一个proto文件的次要形成有 三 局部。

  1. syntax,package,import 定义协定格局以及proto命名空间,加载其余的proto包名
  2. go_package 生成go文件 package 名称
  3. 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;}