Поочередный вывод чисел с односекундной паузой

Вызовите 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-вызовы противоречат требованию поочерёдного вывода и требуют отдельного ожидания.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее