Ajout de valeurs à un tableau dans une carte dans Go
Lorsque vous essayez d'ajouter des valeurs à des tableaux dans une carte, vous pouvez rencontrer des difficultés pour définir des références aux exemples d'objets.
Dans Go, le code suivant tente d'ajouter des valeurs à une structure exemple :
<code class="go">var MyMap map[string]Example type Example struct { Id []int Name []string } package main import ( "fmt" ) type Example struct { Id []int Name []string } func (data *Example) AppendExample(id int,name string) { data.Id = append(data.Id, id) data.Name = append(data.Name, name) } var MyMap map[string]Example func main() { MyMap = make(map[string]Example) MyMap["key1"] = Oferty.AppendExample(1,"SomeText") fmt.Println(MyMap) }</code>
Cependant, ce code est incorrect pour plusieurs raisons :
Le code corrigé suivant résout ces problèmes :
<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>
Dans ce code corrigé :
En implémentant ces corrections, le code ajoute correctement valeurs aux tableaux de la carte tout en préservant les références d'objet.
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!