Если вы используете популярный пакет github.com/go-redis/redis, возвращаемое значение из HGetAll(key).Result()
равно map[string]string
( doc ). Выражение someMap["has_ended"]
возвращает пустую строку, если ключ отсутствует.
Если hasEnded имеет значение true, если и только если ключ присутствует со значением «true», тогда используйте следующее:
hasEnded := someMap["has_ended"] == "true"
Используйте strconv.ParseBool для обработки более широкого диапазона возможных значений (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
}