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.