Uma closure ocorre quando uma função anônima em Go tem acesso aos seus arredores. Então, ele pode manter um estado único e próprio. O estado então fica isolado à medida que criamos novas instâncias da função.
func MinhaFuncao(parametro string) func() string {
return func() string {
return parametro
}
}