Go では、import ステートメントを使用してパッケージをインポートします。パッケージは、コードを論理ユニットに編成するために使用されます。パッケージをインポートするときは、ローカル インポートまたは非ローカル インポートを使用できます。
ローカル インポートでは、現在の作業ディレクトリからパッケージがインポートされます。非ローカルインポートでは、別のディレクトリからパッケージがインポートされます。
次のファイル構造です:
. ├── bin │ └── hello ├── pkg └── src └── jacob.uk.com ├── greeting │ └── greeting.go └── helloworld.go
次の GOPATH:
/Users/clarkj84/Desktop/LearningGo
src内で以下のコマンドを実行するとフォルダー:
/usr/local/go/bin/go install jacob.uk.com
次のエラーが表示されます:
local import "./greeting" in non-local package
このエラーは、ローカル以外のパッケージでローカル インポートを使用しているために発生します。
このエラーを修正するには、作業ディレクトリを src/jacob.uk.com に変更し、go install を実行せずに実行します。パッケージを指定します。次の内容を含む helloworld.go ファイルがある場合:
package main import "./greeting" func main() { }
「インポートされ、使用されていません」というコンパイル エラーが発生します。インポートされたグリーティング パッケージの何かを使用すると、コンパイルされるはずです。
ただし、ローカル インポートの使用はお勧めしません。代わりに、次の import ステートメントを使用する必要があります:
import "jacob.uk.com/greeting"
この import ステートメントを使用すると、どこからでもコードをコンパイル、実行、インストールできるようになります。
以上がGo が「非ローカル パッケージのローカル インポート」エラーを返すのはなぜですか?またその解決方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。