Est-il possible d'implémenter une structure de données Set dans le langage Go?
sobes.tech IA
Réponse de l'IA
En Go, il n'existe pas de structure de données Set intégrée, mais elle peut être implémentée à l'aide d'une carte (map) avec des clés du type souhaité et des valeurs de type bool ou une structure vide struct{}.\n\nExemple d'implémentation d'un ensemble de chaînes :\n\ngo\npackage main\n\nimport "fmt"\n\nfunc main() {\n set := make(map[string]struct{})\n\n // Ajout d'éléments\n set["apple"] = struct{}{}\n set["banana"] = struct{}{}\n\n // Vérification de la présence d'un élément\n if _, exists := set["apple"]; exists {\n fmt.Println("apple est dans l'ensemble")\n }\n\n // Suppression d'un élément\n delete(set, "banana")\n}\n\n\nL'utilisation d'une structure vide struct{} au lieu de bool économise de la mémoire, car struct{} occupe 0 octets.