MacOS下为golang配置Protobuf

首先去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目录下。

最终,文件夹下面会有这两个文件:

MacOS下为golang配置Protobuf

接下来开始测试是否可以生成代码:

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

 这是我的测试文件路径:

MacOS下为golang配置Protobuf

由文件message.proto生成了message.pb.go。说明成功!

上一篇:删除指定路径下,指定时间的文件


下一篇:c++中编码protobuf repeated string