Go では、ローカル インポートは、同じディレクトリまたはそのサブディレクトリからパッケージをインポートするために使用されます。現在の作業ディレクトリ。ただし、「ローカル以外のパッケージのローカルインポート "./greeting"」というエラーが示すように、この手法はローカル以外のパッケージをインポートする場合には適用できません。
エラーを理解するために、提供されたファイル構造を調べてみましょう:
/Users/clarkj84/Desktop/LearningGo └── src └── jacob.uk.com ├── greeting │ └── greeting.go └── helloworld.go
go install を実行しようとすると問題が発生します。 src ディレクトリ内から jacob.uk.com にアクセスします。このコマンドは、helloworld.go の ./greeting インポートを含む jacob.uk.com パッケージのインストールを試みます。ただし、Go はこれを src ディレクトリから実行されるため、ローカル インポートとして解釈しますが、パッケージ自体は src 内にありません。
エラーを解決するには、2 つのオプションが利用可能です。 :
import "jacob.uk.com/greeting"
このアプローチにより、作業ディレクトリに関係なくパッケージをインポートして使用できます。
絶対インポートには、ローカル インポートに比べていくつかの利点があります。
以上がローカル以外の Go パッケージをインポートすると「ローカル インポート」が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。