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}