首先去github下载protobuf
如果电脑没有配置gcc,那么需要撞上gcc
https://github.com/protocolbuffers/protobuf
按照描述执行编译文件进行编译
./configure
make
make check
make install
每步在执行过程中注意权限问题,有的命令不sudo执行会出问题。
执行完成后,执行protoc --version,如果输出版本,那么就代表安装成功。
除了protoc,我们还需要protoc-gen-go这个插件,这个插件的用途就是帮助protoc生成golang的代码。
go install github.com\golang\protobuf\protoc-gen-go
此时去GOPATH/bin下面看,应该会有一个protoc-gen-go的可执行文件,将这个文件cp到user/local/bin目录下。
最终,文件夹下面会有这两个文件:
接下来开始测试是否可以生成代码:
message.go
syntax = "proto3";
option go_package = ".;message";
//包名,通过protoc生成时go文件时
// package test;
//手机类型
//枚举类型第一个字段必须为0
enum PhoneType {
HOME = 0;
WORK = 1;
}
//手机
message Phone {
PhoneType type = 1;
string number = 2;
}
//人
message Person {
//后面的数字表示标识号
int32 id = 1;
string name = 2;
//repeated表示可重复
//可以有多个手机
repeated Phone phones = 3;
}
//联系簿
message ContactBook {
repeated Person persons = 1;
}
执行命令:
protoc --go_out=. *.proto
这是我的测试文件路径:
由文件message.proto生成了message.pb.go。说明成功!