Junior — Middle
Como implementar uma estrutura de dados Set na linguagem Go?
sobes.tech IA
Resposta da IA
Na linguagem Go não existe um tipo Set incorporado, mas pode ser implementado usando um mapa (map) com chaves do tipo desejado e valor bool ou uma estrutura vazia struct{}. Por exemplo, um conjunto de strings pode ser feito assim:
package main
import "fmt"
func main() {
set := make(map[string]struct{})
// Adicionando elementos
set["apple"] = struct{}{}
set["banana"] = struct{}{}
// Verificando a existência de um elemento
if _, exists := set["apple"]; exists {
fmt.Println("apple está no conjunto")
}
// Removendo um elemento
delete(set, "banana")
// Iterando sobre os elementos
for key := range set {
fmt.Println(key)
}
}
Usar uma estrutura vazia struct{} em vez de bool economiza memória, pois ela ocupa 0 bytes.