Golang ProtoBuf 初学者完整教程:安装

一、Protobuf 特点

更高效:使用二进制编码,相比XML/JSON更加高效

跨语言支持:Protobuf 在 .proto 定义需要处理的结构化数据,可以通过 protoc 工具,将 .proto 文件转换为 C、C++、Golang、Java、Python 等多种语言的代码

体积更小:Protobuf 编码是通过成员的唯一编号来绑定对应的数据,因此 Protobuf 编码后数据的体积会比较小

二、安装 protobuf

下面以windows为例

1、安装protoc:https://github.com/protocolbuffers/protobuf/releases

将bin目录加入环境变量,然后就可以检查一下 protoc 是否安装成功

bash 复制代码
protoc --version

2、安装protoc-gen-go

bash 复制代码
go get -u google.golang.org/protobuf/

如果在执行protoc命令出现如下错误:

bash 复制代码
'protoc-gen-go' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
--go_out: protoc-gen-go: Plugin failed with status code 1.

解决办法:

需要安装protoc-gen-go.exe可执行文件,当protoc命令执行时,当编译器调用时传递了 --go_out命令行标志时, protoc就会使用它。

下载protobuf-go源码然后编译安装就可以自动在 gopath 目录下生成 protoc-gen-go.exe

bash 复制代码
git clone https://github.com/protocolbuffers/protobuf-go

cd ./protobuf-go/cmd/protoc-gen-go/
go install .
相关推荐
故事不长丨9 分钟前
C#进制转换:从基础原理到实战应用
开发语言·c#·进制转换·16进制·2进制·10进制
无言(* ̄(エ) ̄)11 分钟前
进程---Linux/C语言
java·开发语言·算法
Mars酱18 分钟前
1分钟了解响应式编程 | 合适的架构调整
java·后端·响应式编程
浪客川23 分钟前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈25 分钟前
Axum: Rust 好用的 Web 框架
开发语言·rust
ChildrenGreens29 分钟前
otel-collector全家桶
后端
goodlook012330 分钟前
监控平台搭建-日志-springboot直接推送loki篇(九)
java·spring boot·后端·grafana
lfwh30 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
老土豆豆豆31 分钟前
你们Agent如何实现Code-Execution的?或许Agent-Sandbox也是你们需要的
后端
星河耀银海34 分钟前
C++面向对象编程:从基础到实战
开发语言·c++