在指针接收器上实现该方法。Redis批量字符串表示为[] byte,而不是字符串:
func (e *authEnum) RedisScan(src interface{}) error { b, ok := src.([]byte) if !ok { return fmt.Errorf("cannot convert authEnum from %T to %T", src, b) } switch string(b) { case "false", "never": *e = never case "sometimes": *e = sometimes default: *e = always } return nil}始终检查并处理错误。从返回的错误
ScanStruct报告类型问题。
无需检查指向struct成员的nil指针。如果ScanStruct的参数为nil,则Redigo将在调用RedisScan方法之前恐慌。



