1. Goland设置:
①. 在settings中,把GOROOT、GOPATH设置好.
②. 设置Go Moduies:
2. 安装protoc编译器:
①. 下载protoc-3.11.2-win64.zip:
https://github.com/protocolbuffers/protobuf/releases/latest
②. 配置环境变量:
path中加入C:\Program Files\protoc-3.11.2-win64\bin\
3. 安装go插件编译器:
// 从Proto文件(gRPC接口描述文件)生成go文件的编译器插件
go get github.com/golang/protobuf/protoc-gen-go
注:
①. 此时会在你的GOPATH 的bin目录下生成可执行文件protoc-gen-go(protobuf的编译器插件).
②. 执行protoc命令时,就会自动调用这个插件.
③. 可以使用不同的语言插件不同语言的文件.
4. 安装grpc框架:
go mod init grpc.com
// gRPC运行时接口编解码支持库
go get -u google.golang.org/grpc
5. 测试:
(1). 创建中间文件grpcdemo\pbfiles\Prod.proto:
syntax = "proto3"; // 使用协议的版本
package services; // 定义包名:生成出来的go文件对应的package是services
message ProdRequest { // 定义Req消息结构:构建一个请求体,好比是struct
int32 prod_id = 1; // 传入的商品ID:类型 字段 = 标识号
}
message ProdResponse { // 定义Res消息结构
int32 prod_stock = 1; // 商品库存
}
(2). 编译生成go文件:
protoc --go_out=../services/ Prod.proto
{输出目录} {proto文件}
注:
①. --go_out表示调用那个插件,在grpcdemo/services文件夹下编译生成go文件.