Junior — Senior
82
Организованный вывод чисел из нескольких горутин
被问到的公司:
Yabbi
任务条件
В программе запускаются три горутины, каждая из которых печатает числа из собственного массива. Требуется изменить код так, чтобы числа выводились в строгом порядке, при этом вызов 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()
}