İçeriğe geç

Closure Fonksiyonlar

Closure fonksiyonlar, anlık tanımlanmış fonksiyonlardır. Bu fonksiyon türü değişkenlere atanabilir veya değer olarak gönderilebilirler.

Örnek olarak:

func main(){
toplam := func(a, b int) int {
return a+b
}
fmt.Println(toplam(5, 10)) // 15
}

Closure fonksiyonların tanımlama esnasında isimleri yoktur. Bir değişkene atandıktan sonra isimleri bulunur. Atanana kadar anonimlerdir.

Değer olarak gönderilen farklı bir örnek:

func islemYap(toplaFunc func(a, b int) int) int {
return toplaFunc(5, 10)
}
func main(){
t := func(a, b int) int {
return a+b
}
sonuc := islemTap(t)
fmt.Println(sonuc) // 15
}

veya direkt olarak kullanılacağı yerde tanımlarsak,

func main() {
sonuc := islemYap(func(a, b int) int {
return a + b
})
fmt.Println(sonuc) // 15
}