Sobes.tech
Senior

Go-da defer nədir? İki defer ilə kod nə göstərəcək?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, defer açar sözü, funksiyanı gecikdirmək üçün istifadə olunur: bu, ətrafdakı funksiyanın tamamlanmasından sonra, lakin onun geri qaytarmasından əvvəl icra olunacaq.

Əgər bir funksiyada bir neçə defer varsa, onlar elan olunma ardıcıllığının tərsinə icra olunur (çağrı yığını).

Nümunə:

package main

import "fmt"

func main() {
    defer fmt.Println("Birinci defer")
    defer fmt.Println("İkinci defer")
    fmt.Println("Əsas kod")
}

Çıxış belə olacaq:

Əsas kod
İkinci defer
Birinci defer

Yəni, əvvəl əsas kod icra olunur, sonra isə gecikdirilmiş çağırışlar tərsinə ardıcıllıqla icra olunur.