Wie überprüft man, ob eine Map einen Schlüssel in Go enthält
Hash-Tabellen sind in Go
als map
-Datentyp implementiert. Go Maps können als eine Sammlung von ungeordneten Paaren von Schlüssel-Werte-Paaren betrachtet werden. Maps
sind einer der leistungsfähigsten und vielseitigsten Datentypen in Go
aufgrund ihrer Fähigkeit, schnelle Suchen, Hinzufügen und Löschen durchzuführen. Wir erhalten zwei Rückgabewerte, wenn wir versuchen, den Wert von Schlüssel
in einer map
zu erhalten. Wenn der zweite Wert wahr ist, dann ist key
auf der map
vorhanden.
Struktur der map
in Go
Syntax für map
var map_name map[KeyType]ValueType
Wobei KeyType
jeder vergleichbare Datentyp
und ValueType
auch jeder Datentyp
einschließlich map
selbst ist. Der Datentyp
für alle Schlüssel
in einer map
muß derselbe sein. In ähnlicher Weise muß auch der “Datentyp” für alle “Werte” in einer map
derselbe sein. Der Datentyp
der Schlüssel
und der Datentyp
der Werte
können jedoch unterschiedlich sein.
package main
import "fmt"
func main() {
map_1 := map[string]string{
"Jenna": "Sthapit",
}
for k, v := range map_1 {
fmt.Printf("Key:%v\nValue: %s\n", k, v)
}
}
Ausgabe:
Key:Jenna
Value: Sthapit
Im obigen Beispiel hat map_1
den Datentyp string
sowohl für die Schlüssel
als auch für die Werte
. In map_1
ist Sthapit
der Wert für den Schlüssel Jenna
.
Prüfen Sie auf “Schlüssel” in Go-map
Syntax zur Prüfung, ob eine map
in Go Schlüssel
enthält
first_value, second_value := map_name[key_name]
Die obige Aussage gibt zwei Werte zurück, nämlich Erster_Wert
und Zweiter_Wert
. Der erste_Wert
gibt den Wert von Schlüssel
zurück. Wenn der map_name
keinen Schlüsselnamen
enthält, ist der Vorstehwert
der Standardwert Nullwert. In ähnlicher Weise ist zweiter_Wert
ein boolescher Wert, der true
ist, wenn der Schlüsselname
in der map
vorhanden ist. Wir können Erster_Wert
und Zweiter_Wert
auf unterschiedliche Weise interpretieren, um zu prüfen, ob die map_name
Schlüsselname
enthält.
package main
import "fmt"
func main() {
map_name := map[int]string{
0: "Alok",
1: "Reman",
2: "Riken",
3: "Rudra",
}
_, second_value_1 := map_name[1]
fmt.Printf("second_value for 1: %t\n", second_value_1)
_, second_value_9 := map_name[9]
fmt.Printf("second_value for 9: %t\n", second_value_9)
}
Ausgabe:
second_value for 1: true
second_value for 9: false
Hier ist der zweite_Wert
für 0
true
, da der Schlüssel 0
in der map_name
vorhanden ist. Der zweite_Wert
für 9
ist jedoch false
, da der Schlüssel 9
in der map_name
nicht vorhanden ist.
package main
import "fmt"
func main() {
map_name := map[string]string{
"Giri": "Alok",
"Nembang": "Reman",
"Maharjan": "Riken",
"Jha": "Rudra",
}
if first_value, second_value := map_name["Giri"]; second_value {
fmt.Printf("Giri is present in map. Value is: %s\n", first_value)
} else {
fmt.Printf("Giri is not present in map.\n")
}
if first_value, second_value := map_name["Sthapit"]; second_value {
fmt.Printf("Sthapit is present in map. Value is: %s\n", first_value)
} else {
fmt.Printf("Sthapit is not present in map. \n")
}
}
Ausgabe:
Giri is present in map. Value is: Alok
Sthapit is not present in map.
In diesem Beispiel haben wir die if
-Anweisung benutzt, um zu prüfen, ob ein Schlüssel in der map
existiert. Giri
ist ein Schlüssel
und Sthapit
ist kein Schlüssel
von map_name
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn