Middle
Go dilində defer operatoru nədir?
sobes.tech Süni İntellekt
AI-dan cavab
defer operatoru funksiyaları və ya metodları gecikdirilmiş şəkildə icra etmək üçün istifadə olunur. defer ilə işarələnmiş funksiyalar, onları əhatə edən funksiyadan çıxmadan dərhal əvvəl icra olunur.
defer-in işləmə prinsipləri:
- Cari funksiyadan çıxış zamanı, normal icra və ya panik olmasına baxmayaraq, icra olunur.
- Eyni funksiyada bir neçə
defer, LIFO (Last-In, First-Out) sırasına görə icra olunur. - Resursların təmizlənməsi üçün faydalıdır, məsələn, faylları və ya şəbəkə bağlantılarını bağlamaq.
İstifadə nümunəsi:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Fayl açılır.")
file, err := os.Open("example.txt")
if err != nil {
// Xəta ilə işləmə
return
}
// Gecikdirilmiş fayl bağlama
defer file.Close()
defer fmt.Println("Fayl bağlanacaq.") // Bu defer ilk icra olunacaq (LIFO)
fmt.Println("Fayl işlənir...")
// Fayl ilə əlavə iş
}
Proqramın çıxışı:
Fayl açılır.
Fayl işlənir...
Fayl bağlanacaq.