记录一次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