我有一个代码:

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的各种字段类型以供参考?

最佳答案

ScanStruct的文档非常清楚:

支持整数,浮点数,布尔值,字符串和[] byte字段。

不支持其他字段类型time.Time

为了解决这个问题,我将制作自​​己的ScanStruct版本,该版本可以处理Redis和我需要抛出的任何类型之间的转换。

关于go - 尝试实现Redigo ScanStruct,但可遵循的示例有限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51671473/

10-13 05:36