Назад к вопросам
Senior
3
Почему ты использовал ключевое слово defer?
Компании, где спрашивали
СБК ПАРУС
Ответ от нейросети
sobes.tech AI
Ключевое слово defer в Go используется для отложенного выполнения функции до момента выхода из текущей функции. Это удобно для освобождения ресурсов, закрытия файлов, разблокировки мьютексов и других операций очистки.
Например, если открыть файл, то с помощью defer можно гарантировать его закрытие, даже если в функции произойдет ошибка или ранний выход:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // Закроется при выходе из функции
// работа с файлом
return nil
}
Таким образом, defer помогает писать более чистый и безопасный код, уменьшая вероятность утечек ресурсов.