ایک closure ایک function ہے جو اپنے ارد گرد کے scope کے variables کو reference کرتا ہے، انہیں "close over" کرتے ہوئے — یہ function enclosing function کے return کرنے کے بعد بھی ان variables تک رسائی برقرار رکھتا ہے۔ Go functions first-class values ہیں، جو closures کو ایک عام اور طاقتور ٹول بناتے ہیں۔
ایک سادہ closure
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
