Junior
Каква роля играе конструкцията defer в езика Go?
sobes.tech AI
Отговор от AI
В езика Go конструкцията defer се използва за отлагане на изпълнението на функция — тя ще бъде извикана при изход от текущата функция, независимо как точно се случва изходът (нормално или поради грешка).
Това е удобно за освобождаване на ресурси, затваряне на файлове, отключване на мьютекси и други операции по почистване.
Пример:
func readFile() error {
file, err := os.Open("file.txt")
if err != nil {
return err
}
defer file.Close() // файлът ще се затвори при изход от функцията
// работа с файла
return nil
}
По този начин, defer помага да се гарантира изпълнението на важни действия за завършване, подобрявайки управлението на ресурсите и обработката на грешки.