Middle
Go'da defer nədir və hansı vaxt çağırılır?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, defer açar sözü, bir funksiyanı gecikdirilmiş şəkildə çağırmaq üçün istifadə olunur: bu, əhatə edən funksiyanın tamamlanmasından sonra, lakin onun çıxışından əvvəl icra olunacaq.
Bu, resursların azad olunması, faylların bağlanması, mutexlərin açılması və digər təmizləmə əməliyyatları üçün əlverişlidir və səhvlər və ya panikalar baş verdiyi halda belə baş verməsini təmin edir.
Nümunə:
func readFile() {
file, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close() // fayl funksiyanın sonunda bağlanacaq
// fayl ilə işləmək
}
Burada, file.Close() avtomatik olaraq readFile-dən çıxış zamanı çağırılır, funksiyanın necə bitməsindən asılı olmayaraq.