我有一个代码:values, err := redis.Values(c.Do("hgetall", value))if err != nil { fmt.Println("HGETALL", err)}/*type UD struct { created_at string B time.Time ended_at string data string status string}*/if err := redis.ScanStruct(values, &UD); err != nil { fmt.Println(err)}我得到的错误是redigo.ScanStruct:无法分配字段B:无法从Redis批量字符串转换为time.Time我该如何解决?ScanStruct的任何示例都详细介绍了Struct的各种字段类型以供参考?
2 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
的文档ScanStruct非常清楚:
支持整数,浮点数,布尔值,字符串和[] byte字段。
不支持其他字段类型time.Time。
为了解决这个问题,我将制作自己的ScanStruct版本,该版本可以处理Redis和我需要抛出的任何类型之间的转换。
拉丁的传说
TA贡献1789条经验 获得超8个赞
您可以简单地添加一个ignore标签来使时间字段避免被封送。
type UD struct {
created_at string
B time.Time `redis:"-"`
ended_at string
data string
status string
}
- 2 回答
- 0 关注
- 444 浏览
添加回答
举报
0/150
提交
取消
