我有个密码:
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示例供结构参考吗?
发布于 2018-08-03 12:16:19
ScanStruct的文档非常清楚:
支持整数、浮点数、布尔值、字符串和[]字节字段。
其他字段类型不支持time.Time。
为了解决这个问题,我会去制作我自己的ScanStruct版本,它可以处理Redis‘和任何我需要抛出的类型之间的转换。
发布于 2020-06-02 07:41:15
您可以简单地添加一个忽略标记,以使时间域避免被封送。
type UD struct {
created_at string
B time.Time `redis:"-"`
ended_at string
data string
status string
}https://stackoverflow.com/questions/51671473
复制相似问题