Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment charger en toute sécurité un hachage et convertir une valeur en booléen s'il existe

En supposant que vous utilisez le package populaire github.com/go-redis/redis, la valeur de retour de HGetAll(key).Result() est une map[string]string (doc). L'expression someMap["has_ended"] évalue à la chaîne vide si la clé n'est pas présente.

Si hasEnded vaut true si et seulement si la clé est présente avec la valeur "true", alors utilisez ce qui suit :

 hasEnded := someMap["has_ended"] == "true"

Utilisez strconv.ParseBool pour gérer une plage plus large de valeurs possibles (1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False) :

 hasEnded, err := strconv.ParseBool(someMap["has_ended"])
 if err != nil {
     // handle invalid value or missing value, possibly by setting hasEnded to false
 }