ExpertiDict

Go · Avançado · Inglês · Técnico

go generate

/ɡoʊ ˈdʒɛn.ɚ.eɪt/comando

Comando que executa as linhas //go:generate encontradas nos arquivos-fonte, usadas para gerar código automaticamente com ferramentas como stringer ou mockgen.

Onde usar

O código gerado costuma ir para o repositório, e o go generate é rodado manualmente, não pelo go build. Em PRs, é comum checar que a geração não deixou diff.

Em código

//go:generate stringer -type=Cor

type Cor int

// terminal:
// go generate ./...

Exemplos

Run go generate after changing the interface.

Rode go generate depois de mudar a interface.

The mocks come from go generate and mockgen.

Os mocks vêm do go generate e do mockgen.

Cuidado

O go build não executa go generate sozinho; esquecer de rodá-lo deixa o código gerado desatualizado.

Veja também

Todos os termos de Go