golang Proto生成

Go环境配置与protoc-gen-gogofaster使用指南
文章介绍了如何在Go环境中配置protoc并使用protoc-gen-gogofaster工具生成proto文件对应的Go代码,避免修改proto文件和生成多余字段。首先设置gopath,下载并安装protoc,然后安装protoc-gen-gogofaster,将其添加到环境变量。在proto文件目录下运行protoc命令生成Go代码,同时提到了使用gogofaster生成的结构体便于字节流的解码和编码。

首先安装go配置好gopath等参数,然后下载最新的protoc,安装,配置protoc到系统环境变量path中[如果是mac则可以使用brew install protobuf安装]。

安装完后使用protoc-gen-gogofaster配合protoc进行生成proto文件对应的go文件。原因是如果用protoc-gen-go需要在protoc里配置package之类的多余的东西。不方便和其他语言公用一个proto文件,不用gogofast是因为会生成多余的字段。影响使用。而gogofaster则既不用修改proto文件,又不会在生成的结构体里多生成字段。

步骤

  1. 运行:

    go install github.com/gogo/protobuf/protoc-gen-gogofaster@latest
    

    会在gopath目录的bin里面生成一个protoc-gen-gogofaster.exe文件。

  2. 将生成protoc-gen-gogofaster.exe添加到protoc.exe所在文件夹中(否则提示未定义 --gogofaster_out)[如果是mac系统只需要将protoc-gen-gogofaster上层目录加到环境变量中即可]

  3. 使用命令行在proto文件所在目录下(否则需要添加输入“-I proto文件目录”)运行:

    protoc --gogofaster_out=输出目录 proto文件(带.proto)
    

    会在输入目录下生成xxx.pb.go文件。便可拿到golang中使用了。

顺便一提,字节流解码成gogofaster生成的proto结构,或者proto结构编码成字节流可以使用下面命令导入proto,(如果运行过步骤1则不需要,步骤1已经下载过了这个依赖).使用proto.Unmarshal 解码,proto.Marshal 编码。

	go install github.com/gogo/protobuf/proto@latest
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值