Golang报错:Cannot convert expression of type interface{} to type []byte

时间:2023-03-10 06:31:32
Golang报错:Cannot convert expression of type interface{} to type []byte

在使用golang实现后端登录逻辑的时候,碰到下面的问题:Cannot convert expression of type interface{} to type []byte

首先介绍下问题出现的场景:使用Redis存储用户登录信息,第三方包使用的是redigo

问题原因:由于从Redis里 取出的数据为interface{}类型,需要先进行类型转换后,才能做后续处理

代码如下:

res, err := redis.String(coon.Do("HGet", "users", id)) //这里如果不进行redis.String()操作,并且这里只能使用redis的函数
user = &User{}
err = json.Unmarshal([]byte(res), user) //则这里就会报错