Урок 84 · Задача 2

DoubleAll: параллельно с результатами

Миша конкурентно удваивает элементы с результатами в исходном порядке. Реализуйте doubleAll(nums []int) []int: каждая горутина пишет в свой индекс результата, порядок сохраняется.

00:00:00
Показать решение
GolangРешение
func doubleAll(nums []int) []int {
	results := make([]int, len(nums))
	var wg sync.WaitGroup
	for i, n := range nums {
		wg.Add(1)
		go func(i, n int) {
			defer wg.Done()
			results[i] = n * 2
		}(i, n)
	}
	wg.Wait()
	return results
}
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки