什么是grpc
grpc是远程过程调用协议,可以像调用本地方法一样方便的调用远程的方法,默认采用protobuf来作为序列化协议,需要开发客户端和服务端,基于http2传输协议
安装protocolbuffers
下载地址
Releases · protocolbuffers/protobuf · GitHub
在环境变量path里面配置 bin的路径
D:\go\protoc-27.0-rc-1-win64\bin
然后再cmd输入protoc 检查是否安装成功
在go项目安装grpc核心库
go get google.golang.org/grpc
在go项目中安装protocol编译器
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
然后通过go env命令查看gopath的路径
可以看到编译器已经安装成功
创建proto文件
test.proto
//使用的是proto3的语法
syntax ="proto3";
//生成的go文件 放在那个包 .表示当前目录 service 表示生成的go文件包名
option go_package =".;service";
//定义服务
service Test{
//定义方法 请求参数 返回参数
rpc Send(TestRequest) returns ( TestResponse);
}
message TestRequest{
//这里是参数的位置 不是赋值
string name=1;
}
message TestResponse{
//这里是参数的位置 不是赋值
string msg=1;
}
在当前目录生成go文件,执行下面的命令
protoc --go_out=. test.proto
protoc --go-grpc_out=. test.proto
定义int和切片数组
执行命令后,会自动生成