Как вы создаете локальный модуль приложения VGO

Каждый пример, который я видел с vgo пока что вам нужно написать свой модуль, загрузить его, а затем создать новый модуль приложения для тестирования базового модуля.

Есть ли способ протестировать модуль, пропустив шаг репо и просто добавив пакет main в свой модуль, чтобы просто выплюнуть что-то на консоль?

Я пытался создать свой фиктивный модуль module "example.com/m" добавление фиктивного подпакета в package example в /example/testing.go затем добавил простой файл main.go и попытался импортировать пример пакета из моего фиктивного модуля, но безрезультатно.

Если бы у меня не было интернета, я был бы довольно потерян с рабочим процессом vgo (я потерян без него)

1 ответ

Я понял. В основном VGO позволяет включать package main в корне, но при этом вы можете использовать только "основные" пакеты в корневом каталоге вашего проекта VGO, потому что golang разрешает только одно имя пакета на папку. Что хорошо, так как вы можете удалить основной файл позже, если хотите.

Ответ

  • Создать package main файл в корневом каталоге вашего проекта VGO с fn main

  • Создайте любое количество подпакетов в вашем проекте VGO, например: package example в example подпапка. Для развлечения создайте экспортированную функцию, которая печатает "Hello World" и назовите ее "WorldGreeting"

  • Теперь в вашем основном файле вы можете импортировать этот пакет, вызвав имя вашего модуля и имя подпакета. Так, например, если имя вашего модуля bitbucket.com/User/MyVGOPackage тогда вы импортируете свой субпакет в основной файл, как import "bitbucket.com/User/MyVGOPackage/example" затем вызовите вашу функцию внутри основного example.WorldGreeting()
  • Сборка с использованием go build создать полный каталог (в случае, если у вас есть больше основных пакетов в каталоге) и vgo выложит исполняемый файл с именем "MyVGOPackage.exe"

Совет: если вы просто хотите создать приложение без странного имени модуля, просто переименуйте ваш модуль во что-то простое, например "MyApplication", и vgo прекрасно поймет ваш импорт. затем вернитесь и замените "bitbucket.com/User/MyVGOPackage/example" на "MyApplication/example", и все будет работать нормально. GoLand IDE от Jetbrain прекрасно понимает это использование, поэтому попробуйте, если у кода возникают проблемы с автозаполнением.

Другие вопросы по тегам