DevGang
Авторизоваться

Введение в модули Go

Go (обычно называемый Go) — новая система управления зависимостями, представленная в версии Go 1.11 в 2018 году. Модули Go предназначены для упрощения управления зависимостями и решения проблем, характерных для старой системы GOPATH.

Ниже приведены некоторые важные концепции модулей Go:

  • Go.mod: это файл конфигурации для модулей Go. Он содержит список зависимостей проекта вместе с желаемым номером версии. На Go.mod также указана минимальная версия Go, необходимая для проекта. Этот файл находится в корне проекта
  • Go.sum: этот файл содержит контрольную сумму каждой зависимости, используемой в проекте. Это помогает предотвратить манипулирование зависимостями и гарантирует, что вы получаете правильные зависимости каждый раз, когда создаете свой проект.
  • Семантическое управление версиями: модули Go следуют принципу SemVer (семантическое управление версиями), что означает, что номера версий зависимостей имеют формат MAJOR.MINOR.PATCH. Когда вы добавляете зависимости в проект, вы можете определить диапазоны версий, которые разрешено использовать, например: module@v1.2.3 или module@^1.2.3.
  • Команды Go: в программное обеспечение Go добавлен ряд команд для работы с модулями Go. Некоторые из этих команд включают в себя:
  1. go mod init: используется для инициализации проекта Go Modules в каталоге.
  2. go get: используется для добавления зависимостей в проект.
  3. go build/go run: эта команда автоматически загружает и управляет зависимостями проекта в соответствии с файлами go.mod и go.sum.
  • Каталог поставщика (необязательно): До появления модулей Go популярным подходом к управлению зависимостями было размещение копии кода зависимости в каталоге «поставщик». Go Modules также поддерживает этот подход, что означает, что вы можете хранить зависимости у своего поставщика, если предпочитаете не использовать общедоступный прокси-модуль.

Благодаря модулям Go разработчики Go теперь могут лучше управлять зависимостями и обеспечивать согласованность своих проектов с версиями используемых ими зависимостей. Это упрощает совместную работу и укрепляет экосистему Go в целом.

Источник:

#Golang
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу