我试图使用以下DB:https://godoc.org/github.com/syndtr/goleveldb/leveldb# (基于简单文件的密钥/值DB)
我能把“钥匙”放进数据库。但是,我想知道值是否可以是一个结构,如:
type Thm struct {
Name string
Age int
}然后,
var Tmp Thm
Tmp.Name = "Gon"
Tmp.Age = 33
db.Put([]byte("test3"), []byte(Tmp), nil)现在,我得到的错误是“不能将Tmp (类型Thm)转换为[]字节”。
如果你有levelDB的经验,你能帮我如何正常地完成这个任务吗?或者,是否应该将struct转换为字节以使其工作?
谢谢
发布于 2015-01-05 21:54:05
levelDB只支持字符串/字节数组作为键和值。这实际上是一个非常聪明的特性,因为它在应用程序级别上保持了复杂数据结构的序列化。要序列化Thm结构,如果不需要其他语言的应用程序来读取值,则可以尝试采空区包装,如果需要其他语言可以访问序列化的数据,则可以读取protobufs、json或msgpack。
https://stackoverflow.com/questions/27788453
复制相似问题