ungültige Speicheradresse oder Null-Zeiger-Dereferenzierung in Go-Map[string]*type
Beim Versuch, auf einen Wert in einer Karte zuzugreifen, werden Sie Möglicherweise tritt der Fehler „Ungültige Speicheradresse oder Null-Zeiger-Dereferenzierung“ auf. Dieser Fehler tritt auf, wenn der abgefragte Schlüssel nicht in der Map vorhanden ist oder wenn der an diesem Schlüssel gespeicherte Wert ein Nullzeiger ist.
In diesem speziellen Fall versucht der Code, auf den „id“-Schlüssel innerhalb der Karte zuzugreifen Karte „Zustand“. Die „Bedingungs“-Map wird jedoch als leere Map ohne Schlüssel-Wert-Paare initialisiert. Wenn Sie also versuchen, auf „condition['id']“ zuzugreifen, existiert der Schlüssel nicht und es wird versucht, auf einen Nullzeiger zuzugreifen. Dies führt zum Fehler „Ungültige Speicheradresse oder Null-Zeiger-Dereferenzierung“.
Um dieses Problem zu beheben, können Sie die Zuordnung „Bedingung“ initialisieren und den Wert des Schlüssels „id“ festlegen, bevor Sie versuchen, darauf zuzugreifen. Hier ist ein Beispiel:
// Initialize the condition map condition = make(map[string]*guardduty.Condition) // Set the value of the "id" key condition["id"] = &guardduty.Condition{ Equals: aws.StringSlice(findingId), }
Nachdem Sie die Karte initialisiert und den Wert des „id“-Schlüssels festgelegt haben, können Sie jetzt sicher darauf zugreifen, ohne dass der Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Ungültige Speicheradresse oder Null-Zeiger-Dereferenzierung' in Go Maps?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!