尝试实现Redigo ScanStruct,但可遵循的示例有限

我有一个代码:


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


红糖糍粑
浏览 445回答 2
2回答

小怪兽爱吃肉

的文档ScanStruct非常清楚:支持整数,浮点数,布尔值,字符串和[] byte字段。不支持其他字段类型time.Time。为了解决这个问题,我将制作自己的ScanStruct版本,该版本可以处理Redis和我需要抛出的任何类型之间的转换。

拉丁的传说

您可以简单地添加一个ignore标签来使时间字段避免被封送。type UD struct {    created_at  string    B           time.Time `redis:"-"`    ended_at    string    data        string    status      string}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go