Trouver des éléments uniques dans une tranche ou un tableau
Dans Go, conserver des éléments uniques dans une tranche ou un tableau peut être un défi pour les nouveaux arrivants. Ce guide aborde le problème en proposant à la fois une méthode de comparaison manuelle et une alternative basée sur un ensemble.
Méthode de comparaison manuelle
La méthode de comparaison manuelle implique de parcourir le tableau et vérifier chaque élément par rapport à tous les autres éléments. Si un doublon est trouvé, il est ignoré. Voici un exemple optimisé :
<code class="go">visited := []visit{ visit{1, 100}, visit{2, 2}, visit{1, 100}, visit{1, 1}, } unique := map[visit]bool{} for _, v := range visited { unique[v] = true } var uniqueVisits []visit for v := range unique { uniqueVisits = append(uniqueVisits, v) } fmt.Println(uniqueVisits)</code>
Alternative basée sur un ensemble
Go fournit la structure de données cartographiques qui peut être utilisée comme un ensemble. Une carte avec des clés de type visit et des valeurs de type bool peut être un moyen pratique de conserver des valeurs uniques. Voici un exemple :
<code class="go">visited := []visit{ visit{1, 100}, visit{2, 2}, visit{1, 100}, visit{1, 1}, } unique := map[visit]bool{} for _, v := range visited { if !unique[v] { unique[v] = true } } var uniqueVisits []visit for v := range unique { uniqueVisits = append(uniqueVisits, v) } fmt.Println(uniqueVisits)</code>
Sortie
Les deux méthodes produiront le même résultat :
[visit{1 100} visit{2 2} visit{1 1}]
Choisissez la méthode qui convient le mieux à votre exigences spécifiques de mise en œuvre. La méthode de comparaison manuelle offre un contrôle précis sur les comparaisons d'éléments, tandis que la méthode basée sur des ensembles offre simplicité et efficacité.
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!