В данном коде определена функция printNumber, которая выводит число с задержкой в 1 секунду. Однако в функции main она не вызывается.
Go: запуск printNumber в горутинах
В данном коде определена функция printNumber, которая выводит число с задержкой в 1 секунду. Однако в функции main она не вызывается.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
package main
import ( "fmt" "time" )
func main() { }
func printNumber(n int) { time.Sleep(time.Second) fmt.Println(n) }
Ответ
В данном коде определена функция printNumber, которая выводит число с задержкой в 1 секунду. Однако в функции main она не вызывается.
Если цель — вывести несколько чисел с задержкой, можно запустить несколько горутин, чтобы они выполнялись параллельно, например:
func main() {
for i := 1; i <= 5; i++ {
go printNumber(i)
}
time.Sleep(6 * time.Second) // Ждем, чтобы горутины успели завершиться
}
Так числа будут выводиться почти одновременно, а не последовательно с задержкой. Если вызвать printNumber без горутин, то вывод будет последовательным с задержкой в 1 секунду между числами.
Это демонстрирует базовую работу с горутинами и задержками в Go.