Golang l'assertion de type

J'ai créé un type de Rôle basé sur la chaîne, et je suis maintenant essayer de l'obtenir pour fonctionner avec le pilote de base de données par la mise en œuvre de l'Évaluateur et de Scanner les interfaces

type Role string

func (r *Role) Scan(value interface{}) error {
    r = (*Role)(value.(string))

    return nil
}

func (r *Role) Value(value driver.Value, err error) {
    if err != nil {
        value = string(r)
    }
}

Je reçois l'erreur:

The Go code app/entities/user.go does not compile: cannot convert value.(string) (type string) to type *Role

Ce que je fais mal ici?

InformationsquelleAutor Lee | 2014-01-05