一、介绍
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文件的次要形成有 三 局部。
- 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;}