go运行第一个gRPC程序
安装插件
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
配置环境变量
将%GOPATH%\bin添加到Path中
创建项目
项目结构
├─practice
│ │ go.mod
│ │ go.sum
│ │
│ ├─client
│ │ ├─sample_client
│ │ │ client.go
│ │
│ ├─proto
│ │ │ helloworld.proto
│ │
│ └─server
│ ├─simple_server
│ │ server.go
│
编辑helloword.proto
syntax = "proto3";
package proto; // 包名
option go_package = '/grpc/service'; // 指定生成的go代码所存放的路径,不用提前创建
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
生成go代码
# 进入存放.proto路径下
cd proto
# 生成代码
protoc --go_out=. --go-grpc_out=. *.proto
# 最后一个参数为源文件
生成后的目录结构
├─practice
│ │ go.mod
│ │ go.sum
│ │
│ ├─client
│ │ ├─sample_client
│ │ │ client.go
│ │
│ ├─proto
│ │ │ helloworld.proto
│ │ │
│ │ └─grpc
│ │ └─service
│ │ helloworld.pb.go
│ │ helloworld_grpc.pb.go
│ │
│ └─server
│ ├─simple_server
│ │ server.go
│
编辑client.go和server.go即可