Что делает go mod tidy

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

Ответ

go mod tidy анализирует исходный код проекта и приводит файл go.mod в соответствие с реально используемыми зависимостями. Он:

  1. Добавляет отсутствующие зависимости, которые импортируются в коде
  2. Удаляет неиспользуемые зависимости из go.mod
  3. Синхронизирует go.sum с актуальными версиями зависимостей

Пример:

// main.go
import "github.com/example/unused" // не используется в коде
import "github.com/example/needed" // используется

После go mod tidy:

  • github.com/example/unused будет удалена из go.mod
  • github.com/example/needed будет добавлена, если отсутствовала
  • go.sum обновится соответствующим образом

Команда особенно полезна перед коммитом изменений или сборкой проекта.