Для чего нужен Go.mod

«Для чего нужен Go.mod» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Файл go.mod определяет модуль в Go, включая его путь, версию и зависимости. Он заменяет старую систему GOPATH и позволяет управлять версиями пакетов.

Основные функции:

  • Указывает имя модуля (например, module github.com/user/repo)
  • Фиксирует версии зависимостей (require github.com/lib/pq v1.10.0)
  • Поддерживает семантическое версионирование

Пример go.mod:

module example.com/myapp

go 1.21

require (
    github.com/gorilla/mux v1.8.0
    golang.org/x/sync v0.3.0
)

Файл автоматически обновляется при добавлении зависимостей через go get.