Maison >développement back-end >Golang >Pourquoi est-ce que j'obtiens une erreur « Nil Pointer Dereference » lors de l'accès à un champ de carte dans Go ?
Lors de la tentative d'accès au champ d'une structure, une erreur est rencontrée :
invalid memory address or nil pointer dereference gdreport/main.go:30 +0x1e6
Ceci une erreur se produit en raison de l'initialisation de la carte avec des pointeurs vides, ce qui entraîne des valeurs nulles pour son éléments.
condition := map[string]*guardduty.Condition{}
Pour résoudre ce problème, assurez-vous que la carte est initialisée avec des pointeurs valides. Voici un exemple :
condition := map[string]*guardduty.Condition{ "id": &guardduty.Condition{ Equals: strPtr, }, }
En attribuant une nouvelle condition avec des pointeurs, vous pouvez accéder à ses champs sans rencontrer l'erreur de déréférencement de pointeur nul.
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!