跳至主要內容
grpc使用流程

proto文件

在项目根目录下,创建pb_file/agent.proto文件。

syntax = "proto3";

option go_package = ".;pb_file";
//  agent/pb_file 两部分,第一部分生成的代码路径,第二部分是所属的包名
//  格式也可以是 agent;pb_file
package pb_file;

service AgentService {
   rpc Ping (PingInfo) returns (PingResponse);
}

message PingInfo {
   string User = 1;
}

message PingResponse {
   bool Success = 1;
}

//  在 gRPC 的 Protocol Buffers(protobuf)定义文件(.proto 文件)中,
// 数字标识符(tag)用于标识字段的唯一标识符。它们是非负整数,可以在字段定义中指定。
// 通常情况下,我们会从 1 开始为字段分配数字标识符,并按照定义顺序逐个递增。
// 这样做的好处是,可以使消息的结构更加清晰,易于维护和扩展。
// 在将来,如果需要向消息中添加新的字段,可以向现有定义的字段之间插入新的字段,而不必破坏现有的客户端和服务器代码。

Mr.Liu大约 4 分钟Gogrpc
GOPATH、GoModules

go env命令,可以查询到GO相关的环境变量

在 Golang 中,有两个概念非常容易弄错,第一个就是 GoPath,第二个则是 GoModule,特别是随着Go版本的更新,好多文档没有及时更新,导致初学者对两者模糊不清,一头雾水。


Mr.Liu大约 5 分钟Go