安装go ------protobuf

88 篇文章 0 订阅

https://github.com/protocolbuffers/protobuf

protobuf编译器安装

如果使用的是c++, 安装教程在这里

如果不是c++,安装教程在这里:https://github.com/protocolbuffers/protobuf/releases

根据自己os平台,下载预编译好的:protoc-$VERSION-$PLATFORM.zip

protobuf 运行时安装

安装go语言的。教程在这里:https://github.com/golang/protobuf

最简单的办法:

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

编译器protoc-gen-go, 如果没有设置$GOBIN,将会被安装到$GOPATH/bin下。

编译器protoc-gen-go必须在path目录下,编译的时候才能找到。

如果需要下载指定版本的protoc-gen-go,那么:

GIT_TAG="v1.2.0" # change as needed
go get -d -u github.com/golang/protobuf/protoc-gen-go
git -C "$(go env GOPATH)"/src/github.com/golang/protobuf checkout $GIT_TAG
go install github.com/golang/protobuf/protoc-gen-go

protbuf组成

一个协议编译器插件,用来生成 go源文件,一旦被编译即可访问和管理协议缓冲区;

一个实现运行时编码解码和访问协议缓冲区的库。

在go里面使用缓冲区协议

一旦被安装,第一步首先编译.proto文件,第二部使用支持的库引入到程序中。

protoc --go_out=. *.proto

这里的.代表的是当前目录。可以根据需求来改变需要生成的.pb.go的文件的位置 。

编译好的go源文件将以.pb.go为后缀。

包和输入路径

协议缓冲区也有包的概念,与go的package不太一样。

在生成的go源码里面,每个源.proto文件都与一个单独的go包关联。

使用go_package选项来指定此包的名称和导入路径。

option go_package = "github.com/golang/protobuf/ptypes/any";

如果没有go_package选项协议缓冲区将尝试派生包名称和导入路径 

下载protobuf

 

https://github.com/protocolbuffers/protobuf/releases

根据电脑的版本和位数选择下载:我的电脑是win 64位

 解压protobuf

比如我解压的目录:D:\work\protoc-3.7.1-win64

进入D:\work\protoc-3.7.1-win64\bin,得到:protoc.exe

安装protobuf

把protoc.exe copy到GOPATH的bin目录下,在下次编译.proto文件的时候即可直接使用命令:

protoc --go_out=. xxx.proto

下载protoc-gen-go

git clone https://github.com/golang/protobuf.git

安装protoc-gen-go

进入github.com/golang/protobuf目录,一句句的执行以下命令:

GIT_TAG="v1.2.0" # change as needed
go get -d -u github.com/golang/protobuf/protoc-gen-go
git -C "$(go env GOPATH)"/src/github.com/golang/protobuf checkout $GIT_TAG
go install github.com/golang/protobuf/protoc-gen-go

就会在$GOPATH/bin下安装好protoc-gen-go.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值