Sobes.tech
Senior

Go'da defer nedir? İki defer ile kod ne gösterecek?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde, defer anahtar kelimesi, bir fonksiyonun çağrısını ertelemek için kullanılır: bu fonksiyon, çevreleyen fonksiyon tamamlandıktan sonra, ancak geri dönüşünden önce çalıştırılır.

Bir fonksiyonda birden fazla defer varsa, bunlar tanımlandıkları sıranın tersine (çağrı yığını) sıralanır.

Örnek:

package main

import "fmt"

func main() {
    defer fmt.Println("İlk defer")
    defer fmt.Println("İkinci defer")
    fmt.Println("Ana kod")
}

Çıktı şu şekilde olur:

Ana kod
İkinci defer
İlk defer

Yani, önce ana kod çalışır, sonra ise ertelemeli çağrılar ters sırayla gerçekleşir.