Как проверить, существует ли значение структурного поля в другом структурном поле - PullRequest
0 голосов
/ 01 октября 2018
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
            }
        }
    }

Однако я думаю, что это слишком избыточно, есть ли другие более элегантные / эффективные способы сделать это?

...