为了账号安全,请及时绑定邮箱和手机立即绑定

Golang levelDB 结构

Golang levelDB 结构

Go
繁星点点滴滴 2021-09-10 17:10:15
我正在尝试使用以下 DB API:https : //godoc.org/github.com/syndtr/goleveldb/leveldb# (基于简单文件的键/值数据库)我能够将“密钥”放入和获取到数据库中。但是,我想知道 value 是否可以是一个结构,例如:type Thm struct {    Name string    Age  int}然后,var Tmp ThmTmp.Name = "Gon"Tmp.Age = 33db.Put([]byte("test3"), []byte(Tmp), nil)现在,我得到的错误是“无法将 Tmp(类型 Thm)转换为 []byte。如果您有使用 levelDB 的经验,您能帮我通常如何完成吗?或者,我应该将 struct 转换为 byte 以使其工作吗?
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

levelDB仅支持字符串/字节数组作为键和值。这实际上是一个非常聪明的功能,因为它在应用程序级别保持复杂数据结构的序列化。要序列化您的Thm结构,如果您不需要其他语言的应用程序来读取值,您可以尝试gob 包,如果您需要其他语言可以访问序列化数据,则可以尝试使用 protobufs、json 或 msgpack。


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信