Golang, импортируя пакеты от Github, просит меня запомнить Github URL?

Я очень новичок в Голанге. Я вижу, что в Golang вы можете импортировать пакеты непосредственно из Github, например:

import "github.com/MakeNowJust/heredoc"

Означает ли это, что я должен помнить этот URL, чтобы использовать этот пакет? ИМХО это не круто. Что, если позже автор пакета удалил или изменил URL? Любые идеи?

Ответ 1

Я бы порекомендовал вам прочитать документацию Как написать код проезда и этот блог.

Путь, который вы видите в строке импорта, - это не URL-адрес, а только путь, в котором находится пакет (обычно относительно $GOROOT/src/pkg или $GOPATH/src). Поэтому ваш пакет heredoc наиболее вероятно находится в каталоге $GOPATH/src/github.com/MakeNowJust/heredoc.

Рекомендуемый способ использования внешних пакетов - загрузить и установить их через go get. Возможно, вы захотите проверить документацию по адресу get go get --help.

Ответ 2

Не беспокойтесь, мужчина! вы можете использовать glide инструмент для управления пакетами

Ответ 3

Путь, на который ссылается оператор import, просто добавляется в $GOPATH/src. Так что это утверждение import в основном гласит: "импортировать пакет, расположенный в $GOPATH/src/github.com/MakeNowJust/heredoc "

Что, если позже автор пакета удалил его или изменил URL?

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