Вызывайте printNumber последовательно и добавляйте двухсекундную паузу после каждого пятого числа, включая последнюю группу по условию.
Пакетный последовательный вывод чисел с паузами
Вызывайте printNumber последовательно и добавляйте двухсекундную паузу после каждого пятого числа, включая последнюю группу по условию.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо изменить существующий код так, чтобы:
- числа от 1 до 10 выводились группами по пять (первый набор — 1‑5, второй — 6‑10);
- внутри каждой группы между выводом отдельных чисел была задержка в одну секунду (это реализует функция printNumber);
- после завершения вывода каждой группы должна происходить пауза длительностью две секунды.
import (
"fmt"
"time"
)
func main () {
for i:= 1; i < 11; i++ {
}
func printNumber(n int) {
time.Sleep(time.Second)
fmt.Println(n)
}
}
Ответ
Вызывайте printNumber последовательно и добавляйте двухсекундную паузу после каждого пятого числа, включая последнюю группу по условию.
Исправленный main и отдельная функция:
package main
import (
"fmt"
"time"
)
func main() {
for i := 1; i <= 10; i++ {
printNumber(i)
if i%5 == 0 { time.Sleep(2 * time.Second) }
}
}
func printNumber(n int) {
time.Sleep(time.Second)
fmt.Println(n)
}
Между 5 и 6 получится примерно три секунды: две после группы и одна внутри следующего printNumber. После 10 программа ещё ждёт две секунды. Если пауза требуется только между группами, добавьте i < 10. В исходнике объявление именованной функции вложено неправильно.