Maison > Article > développement back-end > Comment ajouter des valeurs aux tableaux à l’intérieur des cartes dans Go ?
Ajout de valeurs aux tableaux dans une carte dans Go
Lorsque vous travaillez avec des cartes dans Go, la manipulation de tableaux dans ces cartes peut être difficile. Cet article fournit une solution au problème de l'ajout de valeurs aux tableaux stockés dans une carte.
Pour comprendre le problème, considérons le code suivant :
<code class="go">type Example struct { Id []int Name []string } var MyMap map[string]Example</code>
Ici, MyMap est une carte. qui mappe les chaînes aux instances de la structure Exemple. La structure Exemple contient les tableaux Id et Name. Le but est d'ajouter des valeurs à ces tableaux.
La tentative initiale pour ce faire implique souvent d'appeler des méthodes sur la structure Exemple et de passer un récepteur de pointeur pour accéder et modifier les tableaux. Cependant, attribuer directement le résultat de Oferty.AppendExample(1, "SomeText") à MyMap["key1"] ne fonctionnera pas car la carte stocke une copie de la structure Exemple, pas la structure elle-même.
Le La solution consiste à modifier le code comme suit :
<code class="go">package main import "fmt" type Example struct { Id []int Name []string } func (data *Example) AppendOffer(id int, name string) { data.Id = append(data.Id, id) data.Name = append(data.Name, name) } var MyMap map[string]*Example func main() { obj := &Example{[]int{}, []string{}} obj.AppendOffer(1, "SomeText") MyMap = make(map[string]*Example) MyMap["key1"] = obj fmt.Println(MyMap) }</code>
En créant une instance de la structure Exemple et en stockant une référence à celle-ci dans la carte (à l'aide d'un type pointeur), nous pouvons modifier directement les tableaux. La méthode AppendOffer fonctionne sur un pointeur vers la structure Exemple, nous permettant d'ajouter des valeurs aux tableaux.
Cette solution ajoute efficacement des valeurs aux tableaux dans la structure Exemple, stockés dans MyMap. Il fournit une approche claire et concise de la gestion des tableaux à l'intérieur des cartes dans Go.
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!