Golang prüfen, ob der Schlüssel in der Karte ist

Golang prüfen, ob der Schlüssel in der Karte ist
Eine Karte bezieht sich auf eine ungeordnete Sammlung von Schlüsselwertpaaren. In anderen Programmiersprachen werden Karten mit verschiedenen Namen wie Hashes, Wörterbüchern, assoziativem Array oder einer ungeordneten Karte bezeichnet.

Was auch immer der Name sein mag, Karten sind unglaublich vielseitig und bieten eine einfache und schnelle Möglichkeit zum Abrufen, Aktualisieren oder Löschen von Daten mit den Tasten.

In diesem freundlichen Tutorial lernen Sie, wie Sie überprüfen, ob ein Schlüssel mit der Go -Programmiersprache in einer Karte vorhanden ist.

Die Grundlagen

Bevor wir überprüfen, ob sich eine Karte in einem Schlüssel befindet, beginnen wir mit dem Erstellen einer Karte in Go.

Um eine Karte in Go zu erstellen, verwenden Sie die unten gezeigte Beispielsyntax:

map [key_data_type] values_data_type // Erstellt eine leere Karte
map [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // map mit Daten

Das folgende Beispiel erstellt eine Karte von Strings:

my_map: = map [int] String
1: "Ubuntu",
2: "Debian"
3: "Fedora"
4: "OpenSuse"
5: "Manjaro",

Werte in der Karte abrufen

In den meisten Fällen müssen wir einen Wert abrufen, der einem bestimmten Schlüssel in einer Karte zugeordnet ist. Go bietet uns eine sehr einfache Methode, um diese Aufgabe zu erfüllen.

Die Syntax ist wie gezeigt:

MAP_NAME [Schlüssel]

Wir können auf einen in einer bestimmten Schlüssel gespeicherten Wert zugreifen, indem wir den Kartennamen aufrufen und die Zielschlüssel in einem Paar quadratische Klammern übergeben.

Ein Beispiel ist wie gezeigt:

fmt.Println (my_map [4])

Das obige sollte den Wert in der Schlüsselnummer 4 abrufen. Die resultierende Ausgabe ist wie gezeigt:

$ go run check_if_key_exists.gehen
OpenSuse

Obwohl dies eine einfache Technik ist, um einen auf einem Schlüssel basierenden Wert abzurufen, kann sie manchmal verwechseln, wenn sich ein Schlüssel nicht in einer Karte befindet.

Was passiert, wenn Sie versuchen, einen Wert für einen nicht existierenden Schlüssel abzurufen??

fmt.Println (my_map [0])
…> 0

Der obige Code gibt 0 zurück, da hier keine Schlüssel „0“ vorhanden ist.

Aber was wäre, wenn Sie einen Schlüssel hätten, der den tatsächlichen Wert "0" hält "? Wie erkennen Sie, ob der Schlüssel nicht da ist oder der Wert 0 ist?

Überprüfen Sie, ob der Schlüssel in der Karte vorhanden ist

Daher ist es ratsam, einen Weg zu haben, um festzustellen, ob ein Schlüssel vorhanden ist oder der Wert nur 0 ist. Wir können die Syntax wie gezeigt verwenden:

_, gefunden: = map_name [Schlüssel]

Der gefundene Parameter enthält einen booleschen Wert. Wenn sich der Schlüssel in der Karte befindet, ist der gefundene Parameter wahr und falsch.

Hmm, cool!

Wir können diese Funktionalität verwenden, um eine bedingte Anweisung zu implementieren, die auf dem Wert der gefundenen Variablen basiert.

Ein Beispiel ist wie gezeigt:

func check_if_exists ()
Zustände: = map [String] String
"Co": "Colorado",
"DE": "Delaware",
"La": "Louisiana",
"MA": "Massachusetts",
"VT": "Vermont",

wenn _, gefunden: = Zustände ["ma"]; gefunden
fmt.Printf ("gefunden")
anders
fmt.Println ("nicht gefunden")

Im obigen Beispiel verwenden wir eine IF -Anweisung, um zu überprüfen, ob sich ein Schlüssel mit dem Parameter gefundenen Parameter in der Karte befindet.

Der resultierende Code ist wie gezeigt:

$ go run check_if_key_exists.gehen
Nicht gefunden

Diese Methode funktioniert effizient, auch wenn der Wert des angegebenen Schlüssels gleich 0 oder wahr/falsch ist.

Abschluss

In diesem Artikel haben Sie gelernt, wie man mit dem zugeordneten Schlüssel auf Werte in einer Karte zugreift und überprüft, ob sich ein Schlüssel in einer Karte befindet.

Danke fürs Lesen und den glücklichen Codemodus!