我正在开发一个个人项目,并且是第一次使用 Go。我使用结构来操作数据并将数据存储在文件中,我使用 proto 作为编码器。
在项目中,我的原型定义看起来像这样
message Data {
string key = 1;
string value = 2;
}
message Record {
int64 size = 1;
Data data = 2;
}
我的结构看起来像这样
type KVData struct {
Key string
Value string
}
目前,这就是我创建原始数据的方式
kvData := KVData{Key: "name", Value: "A"}
record := &pb.Record{
Size: 20,
Data: &pb.Data{Key: "name", Value: "A"},
}
我正在寻找一种方法来做到这一点:
record := &pb.Record{
Size: 20,
Data: &((pb.Data)kvData), // Won't work
}
// or like Python
record := &pb.Record{
Size: 20,
Data: &(pb.Data{**kvData}), // Won't work
}
我尝试谷歌搜索,但找不到任何解释如何执行此操作的解决方案。
请注意,我不仅仅是想解决这个特定的情况,我还想知道在结构和原型之间操作的推荐Go方式是什么(仅使用原型?)?
鸿蒙传说
小怪兽爱吃肉
叮当猫咪
相关分类