下载对应的 win64版本就行,然后把 下载的protoc.exe放到 go的bin目录(bin目录)
2. 安装protoc-gen-go
go get github.com/golang/protobuf/protoc-gen-go // 这个不行换下面那个 (清测作废)
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest (如果是linux 还需要添加环境变量,win 貌似也需要忘了....) 注意:如果是 kratos 微服务框架 可以先 make init 一下试试(linux上 先 install make 不然没make指令)
我是go mod的 环境 下载的 多下载几次就好了
3. 测试一下
新建 test.proto
syntax="proto3"; //版本号
option go_package = "/test;test";
package main; //包名
enum ClassName{ //枚举
class1=0; //标号 必须从 0开始
class2=1;
class3=2;
}
message Student{ //消息,对应于Go的结构体
string name=1; //1:标号,唯一 即可(相当于数据库中的Id,不一定要从1 ,2的顺序依次排列。)
int32 age=2; //必须指定整型的范围,如int32,int64
string address=3;
ClassName cn=4;
}
message Students{
repeated Student person=1; // repeated 修饰,相当于Go中切片
string school=2;
}
生成go文件rpc的命令:protoc --go_out=. test.proto
生成go文件grpc的命令:protoc --go_out=plugins=grpc:./test.proto
4. 如果生成了一个test目录,目录下有test.pb.go 代表proto安装成功