Как работает runtime.Goexit?

Middle
157 просмотров
AFK Offer AI

runtime.Goexit() завершает текущую горутину. Все deferred функции выполняются, но горутина не возвращает значения. Отличие от return: Goexit работает из любой глубины вызова, return — только из текущей функции. Используется в testing.T.FailNow() — прерывает тест но defers работают. Не путай с os.Exit — тот убивает весь процесс без defers. Goexit из main горутины завершает программу после defers, аналогично return из main.

Следующий вопрос

Что такое fs.FS интерфейс?