Sobes.tech
Junior — Middle

Para que pode ser usado o valor num mapa se apenas as chaves importam?

sobes.tech IA

Resposta da IA

Em Go, se apenas as chaves de um mapa forem importantes, o valor (value) pode ser uma estrutura vazia struct{}. Isto permite poupar memória, pois uma estrutura vazia não ocupa espaço. Esta abordagem é frequentemente usada para implementar conjuntos (set), onde apenas a presença da chave é importante.

Exemplo:

set := make(map[string]struct{})
set["maçã"] = struct{}{}
set["banana"] = struct{}{}

// Verificação da presença da chave
if _, exists := set["maçã"]; exists {
    fmt.Println("maçã está no conjunto")
}

Desta forma, o valor serve apenas como um marcador de presença da chave sem carga adicional de memória.