go generate — это команда Go, которая автоматизирует генерацию кода, читая специальные директивы, встроенные в комментарии исходного кода, и выполняя указанные команды.
Команда сканирует Go-файлы в поиске специальных комментариев в формате:
//go:generate <command>
Когда ты запускаешь go generate, она:
//go:generatego generate обычно используется для:
//go:generate stringer -type=Color
type Color int
const (
Red Color = iota
Green
Blue
)
Запуск go generate ./... выполнит инструмент stringer для генерации строковых представлений типа Color.
go generate должны запускаться явно — они не выполняются автоматически при go build или go test$GOFILE и $GOLINE доступны внутри директив generate для контекстаКоманда go generate автоматически выполняется во время операций go build и go test без необходимости явного вызова.
Новый — ещё не проверен сообществом
Вы