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