Heim > Backend-Entwicklung > Golang > Wie finde ich einzigartige Elemente in einem Go-Slice oder -Array?

Wie finde ich einzigartige Elemente in einem Go-Slice oder -Array?

Mary-Kate Olsen
Freigeben: 2024-11-01 04:16:27
Original
1018 Leute haben es durchsucht

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

Einzigartige Elemente in einem Slice oder Array finden

In Go kann das Verwalten einzigartiger Elemente in einem Slice oder Array für Neulinge eine Herausforderung sein. Dieser Leitfaden befasst sich mit dem Problem und bietet sowohl eine manuelle Vergleichsmethode als auch eine satzbasierte Alternative.

Manuelle Vergleichsmethode

Die manuelle Vergleichsmethode beinhaltet das Durchlaufen des Arrays und jedes Element mit jedem anderen Element vergleichen. Wenn ein Duplikat gefunden wird, wird es übersprungen. Hier ist ein optimiertes Beispiel:

<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>
Nach dem Login kopieren

Set-basierte Alternative

Go stellt die Kartendatenstruktur bereit, die als Set verwendet werden kann. Eine Karte mit Schlüsseln vom Typ „visit“ und Werten vom Typ „bool“ kann eine praktische Möglichkeit sein, eindeutige Werte beizubehalten. Hier ist ein Beispiel:

<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>
Nach dem Login kopieren

Ausgabe

Beide Methoden geben das gleiche Ergebnis aus:

[visit{1 100} visit{2 2} visit{1 1}]
Nach dem Login kopieren

Wählen Sie die Methode, die am besten zu Ihnen passt spezifische Umsetzungsanforderungen. Die manuelle Vergleichsmethode bietet eine detaillierte Kontrolle über Elementvergleiche, während die satzbasierte Methode Einfachheit und Effizienz bietet.

Das obige ist der detaillierte Inhalt vonWie finde ich einzigartige Elemente in einem Go-Slice oder -Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage