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

Правильный вывод значений из множества горутин

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

Необходимо запустить сто горутин, при этом каждая горутина должна вывести своё уникальное число. Ожидается, что порядок вывода будет произвольным, однако полученный результат отличается от ожидаемого. Требуется выявить причину некорректного вывода и предложить рабочее решение, обеспечивающее корректный вывод значений.

package main

import (
  "fmt"
)

func main() {
  cnt := 100
  for i := 0; i < cnt; i++ {
    go func() {
      fmt.Println(i)
    }()
  }
}