Skip to content

Latest commit

 

History

History

lesson7

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

10.7. Инструментарий Go

Остальная часть этой главы посвящена инструменту 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 позволяет разработчикам сосредоточиться на написании кода, облегчает управление проектом и его зависимостями, автоматизирует ряд рутинных задач и улучшает качество кода благодаря встроенным командам форматирования и тестирования.