• Задача
  • Решение
  • Обсуждение

HandleUploads: горутина на файл

Миша обрабатывает пачку загрузок, заводя горутину на файл. Реализуйте handleUploads: запустите обработку каждого файла в горутине (с sync.WaitGroup) и верните результаты в исходном порядке.

GolangРешение
func handleUploads(files []string, fn func(string) string) []string {
	results := make([]string, len(files))
	var wg sync.WaitGroup
	for i, f := range files {
		wg.Add(1)
		go func(i int, f string) {
			defer wg.Done()
			results[i] = fn(f)
		}(i, f)
	}
	wg.Wait()
	return results
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки