golang使用protobuf插件

golang 使用protobuf其实网上已经有很多的讲解了,
这篇主要讲我自己开始搞的时候有点迷糊的地方,可能会帮到其他跟我一样新手的人。

首先下载protobuf的 编译器protoc 地址:记得下载对版本
window:
下载 protoc-3.6.1-win32.zip
解压后,把bin目录下的exe文件复制到到你的%GOPATH%目录下

接着我们要获取到protobuf的go插件
go get -u github.com/golang/protobuf/protoc-gen-go
如果获取不到的话 可以自己去gitbub上面 clone或是下载 地址:连接地址
记得下载后要复制到github.com/golang这个目录下,然后进行手动安装

go install github.com\golang\protobuf\protoc-gen-go

之后会在%GOPATH%的bin文件夹里面生成protoc-gen-go.exe
在这里插入图片描述
如果你直接把proto文件跟protoc.exe 放在同一个目录 那么进入cmd 执行protoc --go_out=. *.proto就可以了
另外可以指定proto目录和生成目录 执行protoc --proto_path=你proto文件的目录 --go_out=生成go文件的目录 你的proto文件.proto

这样就可以指定你的proto文件就可以放在任意地方了,包括可以直接在项目里面生成的go文件 不过每次都要进入cmd执行这这么麻烦命令也是很烦的,最后我还是写了bat文件
只要在这个bat文件同目录下创建一个protos文件夹来存放proto文件后,双击bat就会自动帮你生成go文件到同目录下的pb目录下
最后放上bat,当然如果你的protoc.exe 不是放在%GOPATH%目录的话,只需要稍微修改下bat里面protoc的路径也是可以用的

@echo off
set a=%cd%
echo curPath=%a%

set b=%a%\protos
echo proto path=%b%

set c=%a%\pb
echo outPath=%c%

set d=%GOPATH%\bin\protoc.exe
echo %d%

set e=%GOPATH%\bin\protoc-gen-go.exe
echo %e%

if exist %c% (

for /f "delims=" %%i in ('dir /b "%c%\*.go"') do (
echo del file%%i
del %c%\%%i
)
) else (
echo create dir%%i
md pb %a%
)

for /f "delims=" %%i in ('dir /b "%b%\*.proto"') do (
echo create %%i
%d% --plugin=protoc-gen-go=%e% --proto_path=%b% --go_out=%c% %%i
)
pause
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值