Laufzeitfehler: „Assignment to Entry in Nil Map“
Beim Arbeiten mit Kartenausschnitten ist es wichtig, die Erstellung eines Ausschnitts davon zu vermeiden Keine Karten, was zu einem Laufzeitfehler wie dem bei Ihnen aufgetretenen führt.
Um ein Kartensegment zu erstellen, führen Sie die folgenden Schritte aus:
Erstellen Sie eine Slice von Karten mit der Funktion make():
<code class="go">invs := make([]map[string]string, length)</code>
Füllen Sie die Karten innerhalb des Slice aus:
<code class="go">for i := 0; i < length; i++ { invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]} }</code>
Erwägen Sie die Verwendung eines zusammengesetzten Literals:
Anstatt eine Null-Map zu erstellen und ihr Werte zuzuweisen, können Sie ein zusammengesetztes Literal verwenden, das alle Schlüsselwerte kombiniert Paare zu einem einzigen Ausdruck:
<code class="go">invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}</code>
Alternativer Ansatz unter Verwendung einer Struktur:
Ein alternativer und idiomatischerer Ansatz besteht darin, eine Struktur zu definieren, um einen Investor darzustellen und zu verwenden ein Stück Strukturen:
<code class="go">type Investor struct { Id int Name string } invs := make([]Investor, length) for i := 0; i < length; i++ { invs[i] = Investor{Id: i, Name: "John" + strconv.Itoa(i)} }</code>
Das obige ist der detaillierte Inhalt vonWie vermeide ich den Laufzeitfehler „Zuweisung zum Eintrag in Null-Karte' beim Arbeiten mit Kartenausschnitten in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!