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
有疑问加站长微信联系(非本文作者)