Junior — Senior
67
Организованный вывод чисел из нескольких горутин
Companies where asked:
Yabbi
Task condition
В программе запускаются три горутины, каждая из которых печатает числа из собственного массива. Требуется изменить код так, чтобы числа выводились в строгом порядке, при этом вызов fmt.Println() должен оставаться внутри цикла каждой горутины.
package main
import (
"fmt"
"sync"
)
func main() {
var waitGroup sync.WaitGroup
waitGroup.Add(3)
go func() {
for _, v := range []int{1, 4, 7} {
fmt.Println(v)
}
waitGroup.Done()
}()
go func() {
for _, v := range []int{2, 5, 8} {
fmt.Println(v)
}
waitGroup.Done()
}()
go func() {
for _, v := range []int{3, 6, 9} {
fmt.Println(v)
}
waitGroup.Done()
}()
waitGroup.Wait()
}