Heim >Backend-Entwicklung >Golang >Wie kann ich mithilfe von Karten effizient das Vorhandensein von Werten in einer Go-Liste prüfen?
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") }
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 }
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}
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!