1.去网站下载 protoc对应的文件
https://github.com/protocolbu...

image.png

下载解压之后,protoc.exe 放到 go 对应的bin 目录下.

2.从github上下载项目到本地,然后编译
git clone https://github.com/golang/pro...

go build

生成的protoc-gen-go.exe文件也Copy 到go 对应的bin 目录下.

3.如何使用
定义 hello.proto 文件:

syntax = "proto3";  // 指定proto版本
package hello;

// protoc -I . --go_out=plugins=grpc:. ./hello.proto
//定义包名称
option go_package = "hello";
// option go_package = "../hello";  最新的版本需要指定路径

// 定义rpc Hello服务
service Hello{
  // 定义SayHello方法
  rpc SayHello(HelloRequest) returns (HelloResponse){}
}

// HelloRequest 请求结构
message HelloRequest{
  string name = 1;
}

// HelloResponse 响应结构
message HelloResponse{
  string message = 1;
}

在命令行cd 到该目录,执行命令
protoc --go_out=. hello.proto
生成了hello.pb.go文件

我们一般如果是go语言的话,用proto 都是结合grpc来用的。要结合--go_out来使用:
要想使用grpc功能,那么proto文件里得定义rpc相关的服务,这样生成的pb.go文件,才会生成相关rpc数据:

protoc --go_out=plugins=grpc:. hello.proto

不需要grpc:
protoc --go_out=. hello.proto

说明:protoc-gen-go下载地址
https://download.csdn.net/dow...


goper
413 声望25 粉丝

go 后端开发