Как работает go generate?

Middle
713 просмотров
AFK Offer AI

go generate — команда, которая ищет в .go файлах комментарии вида //go:generate и выполняет указанную команду. Это не часть сборки — нужно запускать вручную перед компиляцией. Используется для кодогенерации: mockgen для моков, stringer для String() методов, sqlc для SQL-запросов, protoc для gRPC. Сгенерированные файлы коммитятся в репозиторий. Это конвенция Go — вместо магии в рантайме генерируем код заранее.

Следующий вопрос

Что такое exported vs unexported?