package models // collection of drivers ordered in map type Drivers map[string]*Driver func (d *Drivers) AddNewDriver(typ string) *Driver { if drv, ok := (*d)[typ]; ok { return drv } (*d)[typ] = &Driver{Type: typ} return (*d)[typ] } func (d *Drivers) AddDriver(drv *Driver) { if driver, ok := (*d)[drv.Type]; ok { driver.AddBuses(drv.Buses) (*d)[drv.Type] = driver return } (*d)[drv.Type] = drv }