я вот так делаю и мне кажется норм func (s *Service) GetXXXByUsers(ctx context.Context, users []Users) ([]Something, error) { ids := make([]string, 0, len(users)) for _, u := range users { // if some condition here { ids = append(ids, u.ID) // } } return s.GetXXXByUserIDs(ctx, ids) } func (s *Service) GetXXXByUserIDs(ctx context.Context, ids []string) ([]Something, error) { res, err := s.repo.GetXXXByIDs(ctx, ids) if err != nil { return nil, fmt.Errorf("failed to get XXX: %w", err) } return res, nil }
Обсуждают сегодня