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

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

DDD
DDDOriginal
2024-11-29 02:11:08896Durchsuche

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

Überprüfen des Vorhandenseins von Werten in einer Liste in Go

In Python überprüft das Schlüsselwort in bequem, ob ein Element in einer Liste vorhanden ist. Go hingegen fehlt ein explizites Äquivalent. In diesem Artikel werden Techniken zur Implementierung einer solchen Prüfung in Go untersucht.

Ein Ansatz besteht darin, einen Satz zu verwenden, der Werte ungenutzten ganzzahligen Werten zuordnet. Dies erfordert jedoch eine künstliche Ganzzahlspezifikation für jedes Element und wird nicht als ideale Lösung angesehen.

Ein eleganterer Ansatz besteht darin, eine Zuordnung von Zeichenfolgen zu booleschen Werten zu nutzen. Die Karte dient als Menge und das Fehlen eines Schlüssel-Wert-Paares in der Karte entspricht „falsch“, was so interpretiert werden kann, dass das Element nicht in der Liste enthalten ist.

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

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

Hinweis:

Für Effizienz bei großen Listen sollten Sie erwägen, entweder die Karte mit einer for-Range-Schleife zu initialisieren oder eine untypisierte Konstante zu erstellen, um den booleschen Wert zu optimieren Aufgabe.

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

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

Stellungnahme:
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