Zaprtje je funkcija, ki se sklicuje na spremenljivke iz svoje okoliške sfere, »zaprte« okrog njih — funkcija ohrani dostop do teh spremenljivk tudi potem, ko se funkcija, ki jo vsebuje, vrne. Funkcije v Go-u so vrednosti prve vrste, kar naredi zaprtja skupna in zmogljiva orodja.
Osnovno zaprtje
{
count :=
{
count++
count
}
}
counter := makeCounter()
fmt.Println(counter())
fmt.Println(counter())
other := makeCounter()
fmt.Println(other())
