Back to questions
Senior
5
// TODO: реализовать func (s *Service) GetProducts(ctx context.Context, skus []SKU) (map[SKU]Product, error) { return nil, nil }
Companies where asked
Магнит Тех
Answer from AI
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, запрашиваем продукт и собираем их в карту. Если возникает ошибка, возвращаем её сразу.