tgoop.com/go_interview_lib/423
Last Update:
💬 Что происходит при запуске программы на Go? Например, если пакет main импортирует пакет A, а пакет A зависит от пакета B.
🔸 Процесс начинается с пакета main
🔸 Пакет main
импортирует пакет A
🔸 Пакет A импортирует пакет B
🔸 Инициализируются глобальные переменные (если таковые имеются) в пакете B
🔸 Выполняется функция init()
или функции пакета B, если они существуют. Это первая функция init()
, которая выполняется
🔸 Глобальные переменные, если таковые имеются, в пакете A инициализируются
🔸 Выполняется функция init()
или функции пакета A, если таковые имеются
🔸 Инициализируются глобальные переменные в пакете main
🔸 Выполняется функция init()
или функции пакета main, если они есть
🔸 Функция main()
пакета main начинает выполнение
📌 Если пакет main
импортирует пакет B самостоятельно, то ничего не произойдет, поскольку все, что связано с пакетом B, запускается пакетом A. Так происходит потому, что пакет A сначала импортирует пакет B.
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/423