Junior — Middle
Est-il possible de créer une structure ou un type de données similaire à un ensemble dans le langage Go?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, il n'existe pas de type intégré "ensemble" (set), mais il peut être implémenté à l'aide d'une carte (map) avec des clés du type souhaité et des valeurs de type struct{} ou bool. L'utilisation de struct{} permet d'économiser de la mémoire, car la structure vide ne prend pas de place.
Exemple d'implémentation d'un ensemble de chaînes :
// Créer un ensemble de chaînes
set := make(map[string]struct{})
// Ajouter un élément
set["apple"] = struct{}{}
// Vérifier si un élément existe
if _, exists := set["apple"]; exists {
fmt.Println("L'élément est dans l'ensemble")
}
// Supprimer un élément
delete(set, "apple")
Ainsi, une carte avec des clés et des valeurs vides modélise efficacement un ensemble.