Go で兄弟モジュールを作成するとエラーが発生するのはなぜですか?

王林
リリース: 2024-02-09 12:57:09
転載
1062 人が閲覧しました

为什么在 Go 中创建同级模块时会出现错误?

Go 言語では、兄弟モジュールを作成する際のエラーがよくある問題です。この問題の原因は通常、モジュール内の名前空間の競合によるものです。同じディレクトリに同じ名前の 2 つのモジュールを作成すると、Go コンパイラーはこれを競合とみなし、エラーを引き起こします。この問題の解決策は、名前空間の競合を避けるために、これらのモジュールを別のディレクトリに配置することです。さらに、パッケージ エイリアスを使用してモジュールの競合を解決することもできます。いずれかのモジュールにエイリアスを与えることで、名前空間の競合を回避し、兄弟モジュールを正常に作成できます。実際の開発では、このエラーを回避するために、モジュール名の標準化に注意し、同じ名前のモジュールを避ける必要があります。

質問の内容

これは私のファイル システムです:

リーリー

モジュールをインストールしました。これが私の HelloWorld/go.mod です:

リーリー

と go.sum:

リーリー

エラーは次のとおりです。 rsc.io/quote/v4 をインポートできません (パッケージ "rsc.io/quote/v4" が GOROOT または GOPATH に見つかりません) そして 未定義: quotecompilerUndeclaredName

GoQuote ディレクトリを作成し、

go mod init example.com/GoQuote コマンドを実行するまで、エラーは発生しませんでした。 私は Go を初めて使用するので (最初の 1 時間です!)、何が問題なのかわかりません。

すべてのファイルを保存しようとしましたが (VS コードを使用しています)、成功しませんでした。

回避策

問題はファイル システムの構造のようです...

に変更すると、 リーリー

その場合、エラーは発生しません。

以上がGo で兄弟モジュールを作成するとエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!