go protobuff

Go使用ProtoBuff

发现Google Code上面有针对Go语言的Protobuff实现

code.google.com/p/goprotobuf

下面说下安装过程:

go get code.google.com/p/goprotobuf

之后提示no Go source files

执行

go install code.google.com/p/goprotobuf/proto

在Go的安装目录pkg下产生对应路径的proto.a文件

执行

go install code.google.com/p/goprotobuf/protoc-gen-go

在Go的安装目录pkg下产生对应路径的protoc-gen-go文件夹
 

在Go的bin目录产生protoc-gen-go.exe,使用google protobuf编译产生的protoc程序,将protoc.exe和protoc-gen-go.exe拷贝至同一目录

执行 protoc --plugin=protoc-gen-go=protoc-gen-go.exe --go_out=./ xx.proto

参考:

http://www.cnblogs.com/zhangqingping/archive/2012/10/28/2743274.html
 

ps:之前一直是linux可以正确执行,windows不可以,原因是linux不需要添加--plugin=protoc-gen-go=protoc-gen-go.exe选项指定插件的路径

经测试,protobuf 2.3和2.4是兼容protoc-gen-go的

贴一个批处理:protogo.bat

@echo off
if not exist %1 goto :Use
if not exist %2 goto :Use
if not exist %3 goto :Use

%GOROOT%\bin\protoc.exe  --plugin=protoc-gen-go=%GOROOT%\bin\protoc-gen-go.exe --go_out=%1 --proto_path=%2 %3
goto :End

:Use
echo use: 1、go-out-dir 2、proto-dir 3、proto-file

:End


本文来自:开源中国博客

感谢作者:悠米海

查看原文:go protobuff

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。