type Bundle struct {
Name string `bson:"name" json:"name"`
Choices []string `bson:"choices" json:"choices"`
}
type Event struct {
ID bson.ObjectId `bson:"_id,omitempty" json:"_id,omitempty"`
Bundle []Bundle `bson:"bundle" json:"bundle"`
}
type AttendeeBundle struct {
Name string `bson:"name" json:"name"`
Details string `bson:"details" json:"details"`
}
type Attendees struct {
ID bson.ObjectId `bson:"_id,omitempty" json:"_id,omitempty"`
Bundle []AttendeeBundle `bson:"bundle" json:"bundle"`
}
Я строю платформу для регистрации событий.Событие содержит поле Bundle, в котором Участник может выбрать.Например.Футболка разного размера или цвета.
Итак, при регистрации я хочу убедиться, что участник выбрал правильный пакет из соответствующего события.
Я знаю, что можно повторять как для участника, так и для мероприятия, что-то вроде этого:
for _ , attendeebundle := range Attendees.Bundle {
for _, eventbundle := range Event.Bundle{
//comparing attendee bundle and event bundle
}
}
}
Однако я думаю, что это слишком избыточно, есть ли другие более элегантные / эффективные способы сделать это?