Maison > développement back-end > Golang > Comment corriger l'erreur « Affectation à une entrée dans une carte nulle » lors de la création d'une tranche de cartes dans Go ?

Comment corriger l'erreur « Affectation à une entrée dans une carte nulle » lors de la création d'une tranche de cartes dans Go ?

Linda Hamilton
Libérer: 2024-11-04 14:59:12
original
881 Les gens l'ont consulté

How to Fix

Erreur d'exécution : "Affectation à une entrée dans une carte nulle" résolue

Lorsque vous essayez de créer une tranche de cartes, vous pouvez rencontrer le moteur d'exécution erreur "affectation à une entrée dans une carte nulle." Cette erreur indique que vous essayez d'accéder à une valeur de carte nulle, ce qui n'est pas autorisé.

Énoncé du problème

Vous rencontrez cette erreur lors de la création d'un tableau de cartes. , chacune contenant deux clés : « Id » et « Investisseur ». Le code tenté est le suivant :

<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>
Copier après la connexion

Résolution

Pour résoudre cette erreur, vous devez créer une tranche de cartes directement dans la boucle au lieu de créer des cartes nulles. et leur attribuer des valeurs. Ceci peut être réalisé en utilisant des littéraux composites :

<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>
Copier après la connexion

Approche alternative

Vous pouvez également utiliser une structure pour représenter un investisseur :

<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>
Copier après la connexion

L'utilisation d'une structure fournit une représentation plus propre et plus structurée de vos données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal