У меня есть структура еды, которая «добавляет» другую структуру, за исключением того, что я хочу добавить другую структуру «едыКомпоненты».
type mealMain struct {
*model.Meal
Components []mealComponent `json:"components"`
}
type mealComponent struct {
*model.MealComponent
}
Где * модель. Еда выглядит следующим образом
type Meal struct {
ID int64 `json:"id"`
}
То, что я хочу, - это, в основном, структура "mealMain", которая будет действовать как структура "Meal", чтобы я мог присваивать значения и каким-то образом добавлять еду в качестве дочернего элемента (или, возможно, это не очень хорошая идея? Я открыт для предложений)
Однако, когда я делаю что-то подобное
var meal mealMain
meal.ID = 1
Выдает runtime error: invalid memory address or nil pointer dereference
при приеме пищи. ID.
Но если я сделаю это так:
type mealMain struct {
MealMain *model.Meal `json:"meal_main"`
Components []mealComponent `json:"components"`
}
Затем назначьте это так:
var meal mealMain
meal.mealMain.ID = 1
Это работает правильно, но у меня есть возвращение JSON еще глубже, как это:
{
"MealModel": {
"id": 1
}
}
Я хочу вот что:
{
"id": 1
}
Примечание: я хочу не менять модель.