Go语言环境中使用Protobuf3

  1. 安装编译器:protoc
  2. 安装golang for protobuf插件:protoc-gen-go
  3. protoc编译示例

安装编译器:protoc

brew install protobuf

安装golang for protobuf插件:protoc-gen-go

go get -u -v github.com/golang/protobuf/proto
go get -u -v github.com/golang/protobuf/protoc-gen-go

# 也可以忽略上一步,直接安装protoc-gen-go,protoc和go会作为依赖被安装
brew install protoc-gen-go

说明:如果没有安装go环境,可以直接使用brew安装protoc-gen-go,同时go和protobuf会作为依赖一并被安装好!如果go环境是单独安装的,那最好还是通过go get的方式安装,可执行文件会被存放在$GOBIN下。

protoc编译示例

syntax = "proto3";

// 假设有如下proto文件
package Demo;

// 这里直接指定包名称,不使用默认包名:Demo
option go_package = "Project/Demo";

enum Gender { 
        UNKNOW = 0;
        MALE = 1;
        FEMALE = 2;
}

message Grade {
    int32 id = 1;        //整形
    string name = 2;    //字符串
    Gender gender = 3;    //枚举类型
    map<string, float> score = 4;    //map映射
}

编译:

protoc --go_out=./ demo.proto
#或
protoc --go_out=./ -I=./ demo.proto
#或
protoc --go_out=./ -I=./ *.proto

结果:

protoc_result

可以发现:protoc已经按照我们指定的包设定,自动创建了相应的路径,并把编译号的go文件存储到路径下!


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 irvin.em@live.com

文章标题:Go语言环境中使用Protobuf3

文章字数:281

本文作者:dino

发布时间:2019-11-17, 17:20:49

最后更新:2019-11-18, 16:08:49

原始链接:https://blog.walkbc.com/2019/11/17/protobufWithGolang/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录