go之错误之redigo.Scan : Cannot convert from Redis bulk string to *string

mengfanrong 阅读:44 2025-06-02 22:19:02 评论:0

我有一个 struct像那样

type User struct { 
    Nickname  *string `json:"nickname"` 
    Phone     *string `json:"phone"` 
} 

值放在redis中用 HMSET命令。 (值可以为nil)

现在我正在尝试 scan值转化为结构:
values, err := redis.Values(Cache.Do("HMGET", "key", "nickname", "phone" ) 
 
var usr User 
 
_, err := redis.Scan(values, &usr.Nickname, &usr.Phone) 

但我得到一个错误

redigo.Scan: cannot assign to dest 0: cannot convert from Redis bulk string to *string



请告诉我我做错了什么?

请您参考如下方法:

来自 doc它说[]byte是批量字符串的类型,而不是 *string .您在这里有两个选择:

  • 将特定字段类型更改为 []byte
  • 或使用带有 []byte 的临时变量在扫描中键入,然后在检索到数据后将其存储到结构的字段

  • 标签:Redis
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号