golang 写入和读取pb文件

本文档详细记录了使用Golang进行protobuf文件的读取和写入操作。首先介绍了如何定义proto,包括展示了一个test.proto文件的内容和生成对应Go代码的步骤。然后,提供了main.go文件的代码片段,演示了`write`函数如何写入pb文件,以及`read`函数如何从pb文件中读取数据。
摘要由CSDN通过智能技术生成

记录一次golang 读取pb的demo

定义proto

文件tree 如下:

.
├── main.go
├── output
│   └── output.pb
└── proto
    ├── test.pb.go
    └── test.proto

cat test.proto

syntax = "proto3";
package example;

message User {
    int32 userId = 1;
    string userName = 2;
    repeated int64 type = 3;
}

message Users {
    repeated User user = 1;
}

生成 test.pb.go: protoc --go_out=./ ./proto/*.proto

写入

cat main.go
其中 func write 为写入pb文件, func read 为从pb文件中读取。

package main

import (
    "fmt"
    "io"
    "io/ioutil"
    "log"
    "os"

    "github.com/golang/protobuf/proto"
    "gitlab.aibee.cn/mlp/awesomeProject/proto"
)

func main() {
    //write()
    read()

}

const OUTPUT="./output/output.pb"

func write() {
    user1 := &example
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值