Go での相対インポート: ベスト プラクティスと代替案
Go では、モジュールとパッケージのインポートは通常、明確さを確保するために絶対インポート パスを使用して行われます。そして一貫性。ただし、親ディレクトリから相対インポートを実行することは可能ですか?
最初に質問で提案されたのは、「import "../../../meme" などの相対インポート パスを使用すること」です。 「」は直感的に思えるかもしれない。ただし、Go のコンパイラはそのようなパスに関する問題に遭遇し、あいまいなインポート解決エラーが発生します。
Go の方法: 絶対パスを採用する
Go では、相対インポートの使用を強く推奨しません。パス。このアプローチは複雑さをもたらし、推奨されるコード編成の実践に反します。すべてのパッケージは一意のインポート パスを持ち、同じパスを使用して他のすべてのプロジェクトから一貫してインポートされる必要があります。
実践例
Go プロジェクトを構築する場合は、次の推奨事項を考慮してください。 :
$GOPATH/src 内のフォルダーを次のように整理します。以下:
曖昧さを避け、一貫性を促進
これらのベスト プラクティスに従うことで、インポート パスの曖昧さを回避し、一貫したコード構成を確保できます。相対インポートは便利に見えるかもしれませんが、不必要な混乱を招き、Go プロジェクトのスケーラビリティを制限します。 Go の方法を採用し、明確さと堅牢性のために絶対インポート パスを活用します。
以上がGo は相対インポートを使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。