Wie vermeide ich den Laufzeitfehler „Zuweisung zum Eintrag in Null-Karte' beim Arbeiten mit Kartenausschnitten in Go?

Susan Sarandon
Freigeben: 2024-11-06 07:27:02
Original
517 Leute haben es durchsucht

How to Avoid

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:

  1. Erstellen Sie eine Slice von Karten mit der Funktion make():

    <code class="go">invs := make([]map[string]string, length)</code>
    Nach dem Login kopieren
  2. 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>
    Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!