Skip to content

Дополнительные подкоманды Go

Три команды — go run и go build, go install выводят только синтаксические ошибки кода, если они есть. Они не пытаются выводить предупреждения о коде, также известные как возможные логические ошибки кода.

  • Мы можем использовать go vet команду для проверки и сообщения о таких предупреждениях. 
  • Мы можем (а часто и должны) использовать go fmt команду для форматирования исходного кода Go в соответствии со стилем кодирования.
  • Мы можем использовать go test команду для запуска тестов. 
  • Мы можем использовать go doc команду для просмотра документации Go в окнах терминала. 

Настоятельно рекомендуем, чтобы проекты Go поддерживали функцию модулей Go, это позволит  упростить управление зависимостями. Для проектов, поддерживающих модули Go:

  • Команда go mod init example.com/myproject используется для создания go.mod файла в текущем каталоге, который будет рассматриваться как корневой каталог модуля с именем example.com/myproject. Файл go.mod будет использоваться для записи зависимостей модуля. Мы можем отредактировать go.mod файл вручную или позволить go-подкомандам обновить его.
  • Команда go mod tidy используется для добавления отсутствующих зависимостей модулей и удаления неиспользуемых зависимостей модулей из go.mod файла путем анализа всего исходного кода текущего проекта.
  • Команда go get используется для добавления/обновления/понижения/удаления одной зависимости. Эта команда используется реже, чем команда go mod tidy.

Начиная с GoToolchain 1.16, мы можем запускать go install example.com/program@latest для установки последней версии сторонней программы Go (в GOBIN папку). До Go Toolchain 1.16 соответствующей командой была go get -u example.com/program, которая теперь устарела. 

Мы можем использовать go help a SubCommand команду — чтобы увидеть справочное сообщение для указанной подкоманды.

Запусти go команду без каких-либо аргументов, чтобы отобразить поддерживаемые подкоманды. 

Более подробную информацию Go toolchain ты сможешь найти в официальной документации.