Sobes.tech
Back to questions
Senior
4

Почему ты использовал ключевое слово defer?

Companies where asked
СБК ПАРУС

Answer from AI

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 помогает писать более чистый и безопасный код, уменьшая вероятность утечек ресурсов.