Das Vorhandensein eines Schlüssels prüfen
Teil des Abschnitts Grundlagen der GO-Journey von Coddy. Lektion 89 von 109.
In Go können Sie mithilfe der Zuweisungsform mit zwei Werten prüfen, ob ein Schlüssel in einer Map existiert. Dies ist wichtig, da der Zugriff auf einen nicht existierenden Schlüssel den Nullwert zurückgibt, was irreführend sein kann.
Erstellen Sie eine Map mit Ländercodes:
countries := map[string]string{
"US": "United States",
"CA": "Canada",
}
// Prüfen, ob „UK“ in der Map existiert
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)Ergebnis:
Value: Exists: falseDer Boolean-Wert exists gibt an, ob der Schlüssel gefunden wurde. Verwenden Sie dies in Bedingungen:
if _, exists := countries["US"]; exists {
fmt.Println("US is in the map")
}Ergebnis:
US is in the mapAufgabe
AnfängerIn dieser Aufgabe übst du zu überprüfen, ob ein Schlüssel in einer Map vorhanden ist. Du hast eine Map mit den Noten der Schüler und musst überprüfen, ob die Note eines bestimmten Schülers in der Map vorhanden ist.
Vervollständige den Code, um zu überprüfen, ob die Schülerin 'Emma' in der Noten-Map vorhanden ist, und gib eine passende Nachricht aus.
Probier es selbst
package main
import "fmt"
func main() {
// Map der Studentnoten
grades := map[string]int{
"John": 85,
"Sarah": 92,
"Mike": 78,
"Lisa": 95,
}
// Zu prüfender Student
studentToCheck := "Emma"
// TODO: Prüfen, ob studentToCheck in der grades-Map existiert
// und das Ergebnis in einer Variable namens 'exists' speichern
// Hinweis: Verwende das Comma-Ok-Idiom
// Ergebnis ausgeben
if exists {
fmt.Printf("%s's grade exists in the map\n", studentToCheck)
} else {
fmt.Printf("%s's grade does not exist in the map\n", studentToCheck)
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
Vergleichsoperatoren – Teil 1Vergleichsoperatoren – Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung – Vergleiche durchführen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärt`for`-Schleife – Grundlagen`for`-Schleife – nur BedingungDas Schlüsselwort `break`Das Schlüsselwort `continue`Verschachtelte SchleifenWiederholung – Aktionen wiederholen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteZeichenkettenNullwerteKonstantenNamenskonventionenRückblick – Variablen und Typen5Grundlegende Ein- und Ausgabe
Formatierte AusgabeFormatierungsverbenDatentypen ausgebenGrundlegende Benutzereingaben erhaltenRückblick – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des FunktionsumfangsRückblick – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorErweiterte ZuweisungsoperatorenInkrement und DekrementRückblick – Berechnungen6Kontrollfluss: Bedingungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariablen-Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Zeigervariablen deklarierenDer AdressoperatorZeiger dereferenzierenZeiger in Funktionen verwendenNil-ZeigerRückblick – Zeiger verstehen12Zusammengesetzte Datentypen: Maps
Einführung in MapsMap-Literale deklarierenMaps mit `make` erstellenSchlüssel-Wert-Paare hinzufügen und aktualisierenAuf Map-Werte zugreifenDas Vorhandensein eines Schlüssels prüfenMap-Einträge löschenLänge von MapsMaps durchlaufenZusammenfassung – Schlüssel-Wert-SpeicherungÜbe selbstständig: Online-Go-Compiler