Вызовите printNumber последовательно в цикле от 1 до 10. Функция уже содержит паузу, поэтому дополнительный таймер не требуется.
Поочередный вывод чисел с односекундной паузой
Вызовите printNumber последовательно в цикле от 1 до 10. Функция уже содержит паузу, поэтому дополнительный таймер не требуется.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо написать программу, которая с интервалом в одну секунду выводит числа от 1 до 10 в возрастающем порядке.
package main
import (
"fmt"
"time"
)
func main() {
// TODO: вызвать функцию печати для чисел от 1 до 10
}
func printNumber(n int) {
time.Sleep(time.Second)
fmt.Println(n)
}
Ответ
Вызовите printNumber последовательно в цикле от 1 до 10. Функция уже содержит паузу, поэтому дополнительный таймер не требуется.
Реализация main:
func main() {
for i := 1; i <= 10; i++ {
printNumber(i)
}
}
Число 1 появится примерно через секунду, затем остальные в порядке возрастания. Общее время немного больше десяти секунд: Sleep не гарантирует точное расписание. Параллельные go-вызовы противоречат требованию поочерёдного вывода и требуют отдельного ожидания.