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.