Maison >développement back-end >Golang >Comment puis-je garantir l'unicité des éléments dans les tableaux Go ?
Obtention d'éléments uniques dans des tableaux
Dans Go, les tableaux sont excellents pour stocker des données ordonnées, mais ils ne garantissent pas intrinsèquement des valeurs uniques. Pour répondre à ce besoin, nous pouvons explorer des approches alternatives :
Utiliser des cartes pour des chaînes uniques
Un ensemble Go peut être émulé à l'aide d'une carte, où les clés représentent les éléments, et la valeur peut être un type trivial tel que bool. Cela présente plusieurs avantages :
Implémentation d'un ensemble avec des cartes
Voici un exemple :
package main import "fmt" func main() { m := make(map[string]bool) m["aaa"] = true m["bbb"] = true m["bbb"] = true m["ccc"] = true // Check if an element is present exists := m["somevalue"] fmt.Println(exists) }
Préserver l'ordre avec une carte et Tranche
Si l'ordre est crucial, nous pouvons combiner une tranche (pour maintenir l'ordre) et une carte (pour éviter les doublons). Une fonction d'assistance simplifie cela :
package main import "fmt" var m = make(map[string]bool) var a = []string{} func main() { add("aaa") add("bbb") add("bbb") add("ccc") fmt.Println(a) } func add(s string) { if m[s] { return } a = append(a, s) m[s] = true }
En utilisant ces techniques, nous pouvons créer des tableaux ou des collections qui garantissent efficacement des chaînes uniques, que l'ordre soit important ou non.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!