Sobes.tech
Назад к вопросам
Senior
6

// TODO: реализовать func (s *Service) GetProducts(ctx context.Context, skus []SKU) (map[SKU]Product, error) { return nil, nil }

Компании, где спрашивали
Магнит Тех

Ответ от нейросети

sobes.tech AI

go func (s *Service) GetProducts(ctx context.Context, skus []SKU) (map[SKU]Product, error) { result := make(map[SKU]Product, len(skus))

for _, sku := range skus {
    product, err := s.repo.GetProductBySKU(ctx, sku) // предположим, есть метод репозитория
    if err != nil {
        return nil, err
    }
    result[sku] = product
}

return result, nil

}


Здесь предполагается, что у сервиса есть доступ к репозиторию (`s.repo`), который умеет получать продукт по SKU. Мы итерируемся по списку SKU, запрашиваем продукт и собираем их в карту. Если возникает ошибка, возвращаем её сразу.