Heim >Backend-Entwicklung >Golang >Wie behebe ich den Fehler „Zuweisung zum Eintrag in Nil Map' beim Erstellen eines Kartenausschnitts in Go?

Wie behebe ich den Fehler „Zuweisung zum Eintrag in Nil Map' beim Erstellen eines Kartenausschnitts in Go?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 14:59:12791Durchsuche

How to Fix

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn