我有一个膳食结构,它“附加”另一个结构,但我想添加另一个结构“mealComponents”。
type mealMain struct {
*model.Meal
Components []mealComponent `json:"components"`
}
type mealComponent struct {
*model.MealComponent
}
其中*model.Meal如下
type Meal struct {
ID int64 `json:"id"`
}
我想要的基本上是“mealMain”结构像“Meal”结构一样工作,这样我就可以分配值并以某种方式将mealComponent作为子项附加(或者也许这不是一个好主意?我愿意接受建议)
但是当我做这样的事情时
var meal mealMain
meal.ID = 1
它抛出runtime error: invalid memory address or nil pointer dereference了meal.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
}
注意:我想避免更改模型。
慕哥6287543
相关分类