Остальная часть этой главы посвящена инструменту go, который используется для загрузки, запросов, форматирования, построения, тестирования и установки пакетов кода Go.
Инструмент go сочетает в себе возможности набора разнообразных инструментов в одной команде. Это менеджер пакетов ( аналогично apt или rpm), который отвечает на запросы о перечне пакетов, вычисляет их зависимости и загружает их из удаленной системы управления версиями. Это система построения, которая вычисляет зависимости файлов и вызывает компиляторы, ассемблеры и компоновщики, хотя она преднамеренно менее полная, чем стандартная команда Unix make. И одновременно это тестировщик, как мы увидим в главе 11, “Тестирование”.
Интерфейс его командной строки использует стиль "складного ножа”, более чем с десятком подкоманд (с некоторыми из них мы уже знакомились), такими как get, run, build и fmt. Вы можете выполнить go help, чтобы увидеть предметный указатель встроенной документации, но для справки мы перечислим здесь наиболее часто используемые команды (в переводе):
$ go
...
build компиляция пакетов и зависимостей
clean удаление объектных файлов
doc документация по пакетам и именам
env вывод информации о среде Go
fmt запуск gofmt для исходных текстов пакета
get загрузка и установка пакетов и зависимостей
install компиляция и установка пакетов и зависимостей
list список пакетов
run компиляция и выполнение програмы Go
test тестирование пакетов
version вывод версии Go
Для получения более детальной информации о команде используйте "go help [command]".
...
Чтобы сохранить минимальную потребность в конфигурации, инструмент go
опирается на соглашения. Например, для данного
имени файла исходного кода Go инструмент go
может найти включающий его пакет, потому что каждый каталог содержит один
пакет, и путь импорта пакета соответствует иерархии каталогов в рабочей области. Для данного пути импорта пакета
инструмент может найти соответствующий каталог, в котором хранятся объектные файлы. Он может также найти URL сервера, на
котором находится репозиторий исходного кода.
- Инструмент
go
является универсальным инструментом для работы с кодом на языке Go, объединяющим в себе функции менеджера пакетов, системы сборки и тестировщика; это упрощает процесс разработки и управления зависимостями; - Инструмент go использует стиль "складного ножа" с множеством подкоманд, таких как get, run, build и fmt, для выполнения разных действий с кодом и пакетами;
- Инструмент go опирается на соглашения для упрощения конфигурации, такие как один пакет на каталог, и путь импорта пакета соответствует иерархии каталогов в рабочей области, что позволяет инструменту легко находить нужные файлы, объектные файлы и URL-серверы;
- Использование инструмента go позволяет разработчикам сосредоточиться на написании кода, облегчает управление проектом и его зависимостями, автоматизирует ряд рутинных задач и улучшает качество кода благодаря встроенным командам форматирования и тестирования.