同じディレクトリ内の複数のパッケージの処理
質問:
維持することは可能ですか? 1 つの中に 2 つのパッケージが含まれているdirectory?
Background:
プロジェクトにライブラリとコマンドライン インターフェイス (CLI) の両方が含まれるシナリオでは、次のことを行うのが理にかなっているかどうかという疑問が生じます。これらを同じディレクトリ内の別個のパッケージとして構造化します。パッケージ main および func main 宣言は CLI の実行に不可欠ですが、ライブラリに必要なパッケージ myproject 宣言と競合するため、この懸念はプロジェクトのコンパイル時の潜在的な競合に起因します。
回答:
この問題を解決するには、メイン ディレクトリ内に新しいサブフォルダーを作成し、ライブラリまたは CLI を新しいフォルダーに移動することをお勧めします。これにより、2 つのパッケージ間の分離が確保され、名前の競合が回避されます。
解決策:
例:
を検討してください次の構造例:
whatever.io/ myproject/ main.go lib/ myproject.go
この場合、ライブラリ myproject は次の場所に移動されています。 lib サブフォルダー。 main.go ファイルは、次を使用してライブラリをインポートできるようになりました。
import "../lib/myproject"
このアプローチでは、コンパイルの競合を解決しながらプロジェクトの構成が維持されます。
追加リソース:
以上が複数の Go パッケージを 1 つのディレクトリに共存できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。