The project is a template for Go repositories using the Echo framework. Contains examples of the code structure for a project with a domain-driven design (DDD) approach.
goenv — это инструмент для управления версиями Go, который поддерживает множество операционных систем, включая Windows.
brew install goenv
После установки вам нужно будет инициализировать goenv
. Добавьте следующие строки в ваш файл профиля (~/.bash_profile
, ~/.zshrc
, ~/.profile
и т.д.), чтобы инициализировать goenv
при каждом открытии терминала:
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
Не забудьте применить изменения в файле профиля, выполнив команду source ~/.bash_profile
(или аналогичную, в зависимости от вашей оболочки).
После установки goenv
, вы можете устанавливать разные версии Go и переключаться между ними. Для установки новой версии используйте:
goenv install 1.x.x
А для выбора версии Go для текущего проекта или глобально для пользователя:
goenv local 1.x.x
goenv global 1.x.x
Чтобы настроить конкретную версию Go
для проекта в IDE (например GoLand), выберите в качестве GOROOT
нужную версию в директории ~/.goenv/versions
Для запуска make lint
и go generate ./...
необходимо установить следующие утилиты:
brew install protobuf
go install golang.org/x/tools/cmd/goimports@latest
go install github.com/segmentio/golines@latest
go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
либо просто выполнить команду make install
Для установки pre-commit hooks выполните команды:
brew install pre-commit
pre-commit install
Для выполнения миграций базы данных используется утилита golang-migrate
.
Чтобы установить утилиту, выполните команду:
brew install golang-migrate
Чтобы применить миграции к базе, существует make команда:
make migrate_up
Также для отката миграций (параметр count
указывает количество миграций, которые нужно откатить):
make migrate_down count=1
Для создания новой миграции используйте команду:
make create_migration name=migration_name