Heim > Backend-Entwicklung > Golang > Wie kann ich das Vorhandensein von Werten in Go-Listen effizient prüfen?

Wie kann ich das Vorhandensein von Werten in Go-Listen effizient prüfen?

Mary-Kate Olsen
Freigeben: 2024-11-25 11:19:11
Original
965 Leute haben es durchsucht

How Can I Efficiently Check for Value Existence in Go Lists?

Effiziente Wertprüfung in Go-Listen mit Karten

Beim Umgang mit Listen in Go müssen Sie möglicherweise feststellen, ob ein Wert vorhanden ist innerhalb einer Liste. Während Python für diesen Zweck das praktische Schlüsselwort „in“ bietet, fehlt in Go ein direktes Äquivalent.

Ein Ansatz besteht darin, die Set-Sprache zu nutzen, bei der Sie jeden Wert einem beliebigen ganzzahligen Wert zuordnen. Diese Methode erfordert jedoch die Angabe eines nicht verwendeten ganzzahligen Werts, was umständlich sein kann.

Verwendung von Karten für eine effiziente Mengenmanipulation

Eine alternative Lösung besteht in der Verwendung einer Karte[Zeichenfolge ]bool als Menge. Indem Sie gültige Werte dem booleschen Wert „true“ zuordnen, können Sie die Mitgliedschaft wie folgt testen:

valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true}

if valid[x] {
    fmt.Println("found")
}
Nach dem Login kopieren

Bei der Abfrage eines Schlüssels, der in der Zuordnung nicht vorhanden ist, wird der Standardwert „false“ zurückgegeben, der auf Abwesenheit hinweist .

Code mit Initialisierungsidiomen optimieren

Um den Initialisierungsprozess zu optimieren, sollten Sie die Verwendung in Betracht ziehen ein Stück gültiger Werte und eine For-Range-Schleife:

for _, v := range []string{"red", "green", "yellow", "blue"} {
    valid[v] = true
}
Nach dem Login kopieren

Alternativ können Sie eine boolesche Ein-Buchstaben-Konstante für eine prägnante Initialisierung definieren:

const t = true
valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
Nach dem Login kopieren

Durch die Anwendung dieser Strategien können Sie Überprüfen Sie effizient die Wertmitgliedschaft in Go-Listen, ohne dass das Python-Schlüsselwort „in“ erforderlich ist, und nutzen Sie gleichzeitig die Funktionen des Go-Kartentyps für satzähnliche Funktionen.

Das obige ist der detaillierte Inhalt vonWie kann ich das Vorhandensein von Werten in Go-Listen effizient prüfen?. 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