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

Wie kann ich mithilfe von Karten effizient das Vorhandensein von Werten in einer Go-Liste prüfen?

Mary-Kate Olsen
Freigeben: 2024-11-24 09:38:12
Original
820 Leute haben es durchsucht

How Can I Efficiently Check for Value Existence in a Go List Using Maps?

Überprüfen der Wertexistenz in einer Liste mithilfe von Go-Maps

Im Gegensatz zu Python gibt es in Go kein direktes Äquivalent zum Python-in-Schlüsselwort, um zu überprüfen, ob ein Wert vorhanden ist eine Liste. Es gibt jedoch effektive Möglichkeiten, dies mithilfe von Go-Maps zu erreichen.

Eine Methode besteht darin, eine Map mit Zeichenfolgenschlüsseln und booleschen Werten zu nutzen, wobei die Schlüssel gültige Werte darstellen und die booleschen Werte alle auf „true“ gesetzt sind. Um zu testen, ob ein Wert vorhanden ist, prüfen Sie einfach, ob der Schlüssel in der Karte vorhanden ist:

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

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

Eine andere Möglichkeit besteht darin, einen Slice zur Darstellung der gültigen Werte zu verwenden. Jedes Element im Slice würde einem gültigen Wert entsprechen. Anschließend können Sie den Slice durchlaufen und die Karte dynamisch mithilfe einer For-Range-Schleife erstellen:

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

Wenn die Leistung ein Problem darstellt, können Sie die Kartenerstellung weiter optimieren, indem Sie einen konstanten booleschen Wert verwenden:

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

Mit diesem Ansatz können Sie mithilfe von Go-Maps effizient überprüfen, ob ein Wert in einer Liste vorhanden ist, ohne dass zusätzliche Dienstprogramme oder Codegenerierung erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Karten effizient das Vorhandensein von Werten in einer Go-Liste prüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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