Чтобы добавить @Nicholas's answer's:
Здесь из официальной документации golang:
Чтобы создать go.mod для существующего проекта:
- Перейдите к корню дерева исходного кода модуля вне GOPATH:
$ export GO111MODULE=on # manually active module mode
$ cd $GOPATH/src/<project path> # e.g., cd $GOPATH/src/you/hello
Создайте исходное определение модуля и запишите его в файл go.mod:
$ go mod init
Этот шаг конвертирует из любого существующего dep файла Gopkg.lock или из всех остальных девяти поддерживаемых форматов зависимостей , добавляя операторы require для соответствия существующей конфигурации.
Сборка модуля.При выполнении из корневого каталога модуля шаблон. / ... соответствует всем пакетам в текущем модуле.go build автоматически добавит отсутствующие или неконвертированные зависимости, необходимые для удовлетворения импорта для этого конкретного вызова сборки:
$ go build ./...
Проверьте модуль как настроенный, чтобы убедиться, что он работает с выбранными версиями:
$ go test ./...
(Необязательно) Запустите тесты для вашего модуля, а также тесты для всех прямых и косвенных зависимостей для проверки на несовместимость:
$ go test all