ОС загружает исполняемый файл и передаёт управление точке входа. Runtime Go инициализирует окружение, память и планировщик, затем выполняются инициализация пакетов и main.main.
Что происходит при запуске скомпилированного бинарника Go-программы?
ОС загружает исполняемый файл и передаёт управление точке входа. Runtime Go инициализирует окружение, память и планировщик, затем выполняются инициализация пакетов и main.main.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ОС загружает исполняемый файл и передаёт управление точке входа. Runtime Go инициализирует окружение, память и планировщик, затем выполняются инициализация пакетов и main.main.
Переменные пакета и init подчиняются порядку зависимостей. Наличие cgo и динамических библиотек добавляет платформенные шаги загрузки. Завершение main.main завершает программу, даже если другие горутины ещё не закончили, поэтому их ожидание нужно организовать явно.