Улучшение вашей среды разработки

Рабочая область — одна из новых функций, появившихся в Go 1.18, и в этом посте я покажу, как вы можете ее использовать.
Прежде всего, давайте создадим новую папку, которая будет служить нашим рабочим пространством. Для удобства я назвал папку workspace. Небольшое замечание: имя папки может быть любым.
Внутри папки рабочей области создайте еще одну папку с именем hello. В этой папке мы создадим небольшую программу.
В папке hello запустите модуль go, выполнив команду go mod init github.com/aprendagolang/hello, и создайте новый файл main.go со следующим содержимым.
Как видите, мы используем внешний пакет с именем strutil. В связи с этим нам необходимо обновить зависимости нашего модуля. Для этого выполните команду go mod tidy. Теперь в каталоге hello есть три файла.
Чтобы убедиться, что с нашей программой все в порядке, запустим команду go run main.go. Хорошо, слово HELLO было напечатано.
Теперь вернемся в папку нашей рабочей области и клонируем пакет strutil.
С пакетом на нашей машине давайте добавим новую функцию с именем Reverse. Цель функции — получить строку и вернуть ее в обратном порядке.
В нашем приветственном приложении мы изменим вызов функции ToUpper на новую функцию Reverse, а затем снова запустим команду go run main.go.
В результате будет такая ошибка:
Ошибка возникает из-за того, что наша программа использует версию пакета, которая есть на GitHub.
Самый простой способ использовать локальную версию пакета — использовать новое рабочее пространство go.
Для этого нам нужно вернуться в папку нашей рабочей области и запустить начальную команду go work init ./hello. В этой команде ./hello — это имя первой папки, которую мы хотим добавить в рабочее пространство go.
Как мы видим, у нас есть новый файл go.work со следующим содержимым:
Просто чтобы убедиться, что теперь у нас есть такая структура папок:
И мы можем запустить нашу программу из папки рабочей области с помощью команды go run github.com/aprendagolang/hello.
Если вы запустите команду, вы увидите, что произошла та же ошибка. Это потому, что нам также нужно добавить папку strutil в нашу рабочую область.
Для этого в папке рабочей области запустите go work use ./strutil. Теперь, если вы заглянете внутрь файла go.work, вы увидите что-то вроде этого.
Теперь, если мы снова попробуем команду go run github.com/aprendagolang/hello, результат будет таким:
Это оно! Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий.
Спасибо!