草庐IT

ScanStruct

全部标签

go - 尝试实现 Redigo ScanStruct 但要遵循的示例有限

我有一个代码:values,err:=redis.Values(c.Do("hgetall",value))iferr!=nil{fmt.Println("HGETALL",err)}/*typeUDstruct{created_atstringBtime.Timeended_atstringdatastringstatusstring}*/iferr:=redis.ScanStruct(values,&UD);err!=nil{fmt.Println(err)}我得到的错误是redigo.ScanStruct:cannotassignfieldB:cannotconvertfromR

go - Redigo ScanStruct 错误与 time.Time

我正在尝试使用redigo的ScanStruct读取具有time.Time类型字段的结构,这给了我以下错误:cannotconvertfromRedisbulkstringtotime.Time。解决此问题的唯一方法是创建我自己的time类型,它扩展time.Time并实现RedisScan吗?这听起来也很糟糕...... 最佳答案 由于Redis没有时间值的概念,因此对于像redigo这样的通用驱动程序来说,在内置time.Time类型和任意字节数组之间执行一些自动转换是没有意义的。因此,由程序员决定如何执行该转换。例如,假设您定