Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como carregar com segurança um hash e converter um valor em um booleano, se existir


Supondo que você esteja usando o popular pacote github.com/go-redis/redis, o valor de retorno de HGetAll(key).Result() é um map[string]string (doc). A expressão someMap["has_ended"] avalia a string vazia se a chave não estiver presente.

Se hasEnded for true se e somente se a chave estiver presente com o valor "true", use o seguinte:
 hasEnded := someMap["has_ended"] == "true"

Use strconv.ParseBool para manipular um intervalo mais amplo de valores possíveis (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
 }