Sobes.tech
Junior — Senior
54

Одновременный вывод чисел с сохранением порядка

Компании, где спрашивали:

СамокатСамокат
Условие задачи

Необходимо поправить программу так, чтобы функция printNumber запускалась в нескольких горутинах, но при этом числа от 1 до 10 выводились строго последовательно (1, 2, 3, …, 10) с задержкой в одну секунду перед каждым выводом.

package main

import (
        "fmt"
        "time"
        )

func main() {
    for idx := 0; idx < 10; idx++ {
        printNumber(idx + 1)
    }
}

func printNumber(num int) {
    time.Sleep(time.Second)
    fmt.Println(num)
}