Heim >Backend-Entwicklung >Golang >Wie behebe ich den Fehler „Zuweisung zum Eintrag in Nil Map' beim Erstellen eines Kartenausschnitts in Go?
Laufzeitfehler: „Zuweisung zum Eintrag in Null-Map“ behoben
Beim Versuch, einen Teil von Maps zu erstellen, kann es zur Laufzeit kommen Fehler „Zuordnung zum Eintrag in Null-Map.“ Dieser Fehler weist darauf hin, dass Sie versuchen, auf einen Kartenwert von Null zuzugreifen, was nicht zulässig ist.
Problembeschreibung
Dieser Fehler tritt beim Erstellen eines Arrays von Karten auf , die jeweils zwei Schlüssel enthalten: „Id“ und „Investor“. Der versuchte Code lautet wie folgt:
<code class="go">for _, row := range rows { invs := make([]map[string]string, length) for i := 0; i < length; i++ { invs[i] = make(map[string]string) invs[i]["Id"] = inv_ids[i] invs[i]["Investor"] = inv_names[i] } }</code>
Lösung
Um diesen Fehler zu beheben, sollten Sie einen Abschnitt von Maps direkt in der Schleife erstellen, anstatt keine Null-Maps zu erstellen und ihnen Werte zuzuordnen. Dies kann durch zusammengesetzte Literale erreicht werden:
<code class="go">for _, row := range rows { invs := make([]map[string]string, length) for i := 0; i < length; i++ { invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]} } }</code>
Alternativer Ansatz
Alternativ können Sie eine Struktur verwenden, um einen Investor darzustellen:
<code class="go">type Investor struct { Id int Investor string } for _, row := range rows { invs := make([]Investor, length) for i := 0; i < length; i++ { invs[i] = Investor{ Id: inv_ids[i], Investor: inv_names[i], } } }</code>
Die Verwendung einer Struktur sorgt für eine sauberere und strukturiertere Darstellung Ihrer Daten.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Zuweisung zum Eintrag in Nil Map' beim Erstellen eines Kartenausschnitts in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!