Golang struct array Werte Anhängen In Schleife
Dies ist mein code:
package main
import(
"fmt"
)
type Category struct {
Id int
Name string
}
type Book struct {
Id int
Name string
Categories []Category
}
func main() {
var book Book
book.Id = 1
book.Name = "Vanaraj"
for i := 0; i < 10; i++ {
book.Categories = []Category{
{
Id : 10,
Name : "Vanaraj",
},
}
}
fmt.Println(book)
}
Muss ich Anhängen der Werte zu den Kategorien. Die Werte anfügen nur ein mal. Aber ich muss anfügen, die Werte in das array.
Wie man dieses Problem beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht Anhängen nichts zu
book.Categories
, in jeder iteration derfor
Schleife, die Sie immer erstellen Sie eine neue Scheibe mit einem composite literal und ordnen Siebook.Categories
.Wenn Sie wollen Anhängen von Werten, verwenden Sie die eingebaute
append()
Funktion:Ausgang (versuchen Sie es auf die Gehen Spielplatz):
Beachten Sie auch, dass, wenn Sie wissen, die iterationsanzahl im Voraus (
10
in Ihrem Fall), können Sie einen großen genug slice im Voraus, können Siefor ... range
und nur Werte zuweisen, um die ordnungsgemäße element ohne Aufrufappend()
. Dies ist effizienter: