Een closure is een functie die variabelen uit de omliggende scope referentieert, deze "afsluitend" — de functie behoudt toegang tot die variabelen zelfs nadat de omvattende functie is geretourneerd. Go-functies zijn first-class values, wat closures een veelgebruikt en krachtig hulpmiddel maakt.
Een basis closure
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
