Closure je funkcija koja referenciira varijable iz svoje okružujuće domene, "zatvarajući se" oko njih — funkcija zadržava pristup tim varijablama čak i nakon što se obgrljujuća funkcija vrati. Go funkcije su vrijednosti prvog reda, što čini closures uobičajenim i moćnim alatom.
Osnovni closure
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
