Назад к задачам
Junior — Senior
58

Обнаружение и исправление багов в работе каналов и горутин

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В этом упражнении вам нужно найти и устранить недочёты в представленном фрагменте кода, которые вызывают проблемы при работе с каналами и горутинами.

func main() {
    m := map[int]int{}

    wg := sync.WaitGroup{}
    var res chan int
    for i := 0; i < 10; i++ {
        wg.Add(1)
        go func() {
            m[i] = i
            res <- i
            wg.Done()
        }()
    }

    close(res)
    wg.Wait()
}

Обратите внимание на корректность инициализации каналов, порядок закрытия и взаимодействие с синхронизацией горутин.