Sobes.tech
Junior — Middle

É possível implementar uma estrutura de dados Set na linguagem Go?

sobes.tech IA

Resposta da IA

No Go, não existe uma estrutura de dados Set incorporada, mas pode ser implementada usando um mapa (map) com chaves do tipo desejado e valores do tipo bool ou uma estrutura vazia struct{}.\n\nExemplo de implementação de um conjunto de strings:\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Adicionar elementos\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Verificar se um elemento existe\n if _, exists := set["apple"]; exists {\n fmt.Println("apple está no conjunto")\n }\n\n // Remover elemento\n delete(set, "banana")\n}\n\n\nO uso de uma estrutura vazia struct{} em vez de bool economiza memória, pois struct{} ocupa 0 bytes.