sql >> Base de Datos >  >> NoSQL >> Redis

Cómo cargar un hash de forma segura y convertir un valor en un valor booleano si existe

Suponiendo que está utilizando el popular paquete github.com/go-redis/redis, el valor de retorno de HGetAll(key).Result() es una map[string]string (doc). La expresión someMap["has_ended"] evalúa a la cadena vacía si la clave no está presente.

Si hasEnded es verdadero si y solo si la clave está presente con el valor "verdadero", entonces use lo siguiente:

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

Use strconv.ParseBool para manejar un rango más amplio de valores posibles (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
 }