ホームページ > バックエンド開発 > Golang > Go でローカル パッケージを正しくインポートするにはどうすればよいですか?

Go でローカル パッケージを正しくインポートするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-28 19:24:11
オリジナル
190 人が閲覧しました

How to Correctly Import Local Packages in Go?

Go でのローカル パッケージのインポート

Go でローカライズされたコードを使用する場合、ローカル パッケージのインポートで問題が発生することがあります。一般的な問題とその解決策の詳細な分析は次のとおりです:

問題:

「/home/me/」にあるパッケージのインポート ステートメントをローカライズしようとしていますgo/src/myapp" には次の変更が加えられました:

import (
    "./common"
    "./routers"
)
ログイン後にコピー

ただし、"go install myapp" を実行すると、次のエラーが発生しました:

can't load package: /home/me/go/src/myapp/main.go:7:3: local import "./common" in non-local package
ログイン後にコピー

さらに、「./」プレフィックスなしで「common」と「routers」を使用すると、次の結果が発生しました:

myapp/main.go:7:3: cannot find package "common" in any of:
    /usr/local/go/src/common (from $GOROOT)
    /home/me/go/src/common (from $GOPATH)
myapp/main.go:8:2: cannot find package "routers" in any of:
    /usr/local/go/src/routers (from $GOROOT)
    /home/me/go/src/routers (from $GOPATH)
ログイン後にコピー

解決策:

この問題は Go のインポート パス規則に起因します。 Go のインポート開始ディレクトリは「$HOME/go/src」です。これを解決するには、インポート ステートメントのパッケージ名に「myapp」プレフィックスを追加するだけです。

import (
    "log"
    "net/http"
    "myapp/common"
    "myapp/routers"
)
ログイン後にコピー

この変更により、インポート パスが正しいことが保証され、コンパイル中に発生したエラーが解決されます。

以上がGo でローカル パッケージを正しくインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート