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!