Sobes.tech
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.