Maison > développement back-end > Golang > Comment trouver des éléments uniques dans une tranche ou un tableau Go ?

Comment trouver des éléments uniques dans une tranche ou un tableau Go ?

Mary-Kate Olsen
Libérer: 2024-11-01 04:16:27
original
1001 Les gens l'ont consulté

How to Find Unique Items in a Go Slice or Array?

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>
Copier après la connexion

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>
Copier après la connexion

Sortie

Les deux méthodes produiront le même résultat :

[visit{1 100} visit{2 2} visit{1 1}]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal