Go 使用 protobuf
一.环境准备#
安装 protoc ,protoc 是用来执行根据 proto 文件生成 代码的工具。
访问 https://github.com/protocolbuffers/protobuf/releases 选择对应的系统进行下载。
为了方便使用,建议将 protoc 加到 PATH 中,mac 可以放到 /usr/local/bin/ 下。
安装 proto-gen go , 执行命令
go install github.com/golang/protobuf/protoc-gen-go@lates
安装完成后检查是否安装成功
ls $GOPATH/bin|grep protoc-gen-go
二.编写代码#
编写 proto 文件
syntax = "proto3";
option go_package = "/pb";
message Person {
string name = 1;
}
生成 pb.go
protoc --go_out=. *.proto
生成 grpc 使用命令:protoc --go_out=plugins=grpc:. *.proto
安装依赖
go get github.com/golang/protobuf
序列化和反序列化 main.go
package main
import (
"fmt"
"github.com/golang/protobuf/proto"
"go-protobuf/pb"
"log"
)
func main() {
p := &pb.Person{
Name: "lzq",
}
data, err := proto.Marshal(p)
if err != nil {
log.Fatal(err)
}
fmt.Printf("matshal data len: %d\n", len(data))
np := &pb.Person{}
if err = proto.Unmarshal(data, np); err != nil {
log.Fatal(err)
}
fmt.Printf("unmatshal person name: %s\n", np.Name)
}
输出
作者:晓晨Master(李志强)
出处:https://www.cnblogs.com/stulzq/p/15990647.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
目前学习.NET Core 最好的教程 .NET Core 官方教程 ASP.NET Core 官方教程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律