Po pierwsze, chciałbym powiedzieć, że jest bardziej idiomatyczne określić typ dla struktury, niezależnie od tego, w jaki sposób prosta jest struktura. Na przykład:
type MyStruct struct {
MyField int
}
Oznaczałoby to zmieniając Result
struct się następująco:
type Result struct {
name string
Objects []MyStruct
}
Powodem swoimi paniki program to dlatego, że próbujesz uzyskać dostęp do obszaru pamięci (pozycja w Twoja tablica Object
s), która nie została jeszcze przydzielona.
Dla tablic struktur należy to zrobić pod numerem make
.
r.Objects = make([]MyStruct, 0)
Następnie, aby dodać do swojej tablicy bezpiecznie, jesteś lepiej instancji indywidualny MyStruct
, tj
ms := MyStruct{
MyField: 10,
}
A potem append
ing to na swojej tablicy r.Objects
r.Objects = append(r.Objects, ms)
Aby uzyskać więcej informacji na temat , zobacz the docs
Dzięki Ronindev. Typ wyniku struct { string name Przedmioty [] struct {int id string name email ciąg } } Jak dodać wartości do tego? – vanarajcs
RobinDev, Jak dodać wiele zmiennych w załączniku? – vanarajcs
@vanarajcs coś podobnego do tego 'r.Objects = append (r.Objects, struct {id int} {10}, struct {id int} {20})' – RoninDev