Sobes.tech
Junior — Senior
74

Конкурентный упорядоченный вывод чисел с синхронизацией

被问到的公司:

Самокат Тех
任务条件

Необходимо изменить представленный код так, чтобы:

  • числа от 1 до 10 выводились параллельно с использованием горутин;
  • при этом сохранялась строгая последовательность вывода (1, 2, 3, ..., 10);
  • между выводами каждого числа делалась пауза в одну секунду (реализовано функцией showNumber).
import (
        "fmt"
        "time"
        )

func main () {
    for cur := 1; cur < 11; cur++ {
        // TODO: запустить горутину, вызывающую showNumber(cur)
    }
}

func showNumber(val int) {
        time.Sleep(time.Second)
        fmt.Println(val)        
    }