go语言(Golang)protobuf在Windows下环境配置

目录

一、protobuf概念

二、环境部署

1、go语言环境部署(略)

2、protobuf的编译器protoc 

3、protobuf编译器go语言插件

 三、编写.proto文件生成.go文件


一、protobuf概念

ProtoBuf (Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域。

二、环境部署

1、go语言环境部署(略)

2、protobuf的编译器protoc 

官方下载地址:https://github.com/protocolbuffers/protobuf/releaseshttps://github.com/protocolbuffers/protobuf/releases

解压出protoc.exe文件

3、protobuf编译器go语言插件

命令行执行如下命令,下载源代码

go get github.com/golang/protobuf

D:\Go\bin>go get github.com/golang/protobuf
go: github.com/golang/protobuf upgrade => v1.5.2

下载后存放在%GOPATH%\pkg\mod\github.com\golang\[email protected]\protoc-gen-go

GOPATH路径可以通过go env命令查看(set GOPATH=C:\Users\Administrator\go)

在该目录下执行如下命令,生成protoc-gen-go.exe

go build

 三、编写.proto文件生成.go文件

 运行如下命令:

protoc.exe  --go_out=./ ./xxxx.proto

注:运行后可能会报如下错误

protoc-gen-go: unable to determine Go import path for "xxxx.proto"

Please specify either:
        • a "go_package" option in the .proto source file, or
        • a "M" argument on the command line.

See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.

--go_out: protoc-gen-go: Plugin failed with status code 1.

需要在./proto文件中添加如下参数,之后可以正常生成

option go_package = “./SearchNode”;

猜你喜欢

转载自blog.csdn.net/xlyrh/article/details/121273056