Maison  >  Article  >  développement back-end  >  Comment ajouter des valeurs aux tableaux à l’intérieur des cartes dans Go ?

Comment ajouter des valeurs aux tableaux à l’intérieur des cartes dans Go ?

DDD
DDDoriginal
2024-11-02 02:53:30982parcourir

How to Append Values to Arrays Inside Maps in 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!

Déclaration:
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