golanggRPC

win10下golang使用protobuf

2017-09-21  本文已影响224人  Gospel元嘉

json与protobuf做数据传输对比:
json用起来的确很方便。但相对于protobuf数据量更大些。做一个移动端应用,为用户省点流量还是很有必要的。正好也可以学习一下protobuf的使用

0、跟Json相比,protobuf 的优缺点:

优点:

缺点:

1、安装protobuf库文件

方法(1)使用go get

go get github.com/golang/protobuf/proto(待验证)

方法(2)下载文件
或者直接通过protobuf下载链接,戳这里上下载或git clone下来对应放到到 $GOPATH\src\golang.org\x\protobuf 中(可用)

2、protobuf的编译器protoc

protoc下载链接,戳这里上找到protoc的压缩包下载。并放到$GOROOT的bin目录下。

3、protobuf的编译器protoc

在go中使用protobuf,有两个可选用的包goprotobuf(go官方出品)和gogoprotobuf(二选一即可)。
gogoprotobuf完全兼容google protobuf,它生成的代码质量和编解码性能均比goprotobuf高一些。
使用protobuf:

go get github.com/golang/protobuf/protoc-gen-go

使用gogoprotobuf:(待验证)
gogoprotobuf有两个插件可以使用(二选一即可):

//gogo
go get github.com/gogo/protobuf/protoc-gen-gogo
//gofast
go get github.com/gogo/protobuf/protoc-gen-gofast
//安装gogoprotobuf库文件
go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/gogoproto //这个不装也没关系
//生成编译文件
//gogo
protoc --gogo_out=. *.proto
//gofast
protoc --gofast_out=. *.proto

成功后会在GOPATH的第一个目录的bin文件夹下生成protoc-gen-go可执行文件(如果该路径没在系统的环境变量中,则需要将改路径也加入到环境变量的path中去)。

4、使用protoc编译.proto文件成.pd.go文件

命令行进入.proto文件所在路径,使用 命令:

protoc --go_out=. *.proto

会把.pd.go文件生成到当前目录下,即完成编译过程。

上一篇 下一篇

猜你喜欢

热点阅读