web-dev-qa-db-ja.com

Golang、Githubからパッケージをインポートすると、Github URLを記憶するように要求されますか?

私はGolangを初めて使います。 Golangでは、次のようにGithubからパッケージを直接インポートできることがわかります。

import "github.com/MakeNowJust/heredoc"

このパッケージを使用するには、このURLを覚えておく必要があるということですか?私見これはクールではありません。後でパッケージの作成者がパッケージを削除したり、URLを変更した場合はどうなりますか?何か案は?

18
user130268

Goコードの書き方 ドキュメントと this ブログ投稿を読むことをお勧めします。

インポート行に表示されるパスはURLではなく、パッケージが配置されているパスのみです(通常は$GOROOT/src/pkgまたは$GOPATH/srcに相対的です)。したがって、パッケージheredocはおそらくディレクトリ$GOPATH/src/github.com/MakeNowJust/heredocにあります。

外部パッケージを使用する推奨方法は、go getを介してダウンロードしてインストールすることです。 go get by go get --helpのドキュメントをご覧ください。

39
tsabsch

心配しないで!パッケージ管理に glide ツールを使用できます

1
Vutuz

Importステートメントが参照するパスは、$GOPATH/srcに追加されるだけです。そのため、インポート文は基本的に「$GOPATH/src/github.com/MakeNowJust/heredocにあるパッケージをインポートする」と述べています。

後でパッケージの作成者がパッケージを削除したり、URLを変更した場合はどうなりますか?

予想される場所にそのパッケージのソースファイルが既にある限り、リポジトリが移動した場合でもそれを含める必要があります。

0
isuldor