内部 Go パッケージのインポート
Go ではすべてのパッケージをインポートできますが、使用を目的とした「内部」としてマークされた特定のパッケージがあります特定のモジュール内のみ。このようなパッケージをインポートすると、「内部パッケージの使用は許可されていません」などのエラーが発生する可能性があります。
この問題に対処するために、Go はバージョン 1.4 で内部パッケージの可視性を制限するルールを導入しました。インポートするコードが「内部」ディレクトリのツリーの外側にある場合、「内部」要素を含むパスのインポートは許可されません。
この制限の背後にある理由は、内部 API が誤って公開されるのを防ぐためです。安定していない、または外部使用に適していない可能性があります。内部パッケージは通常、それを所有するモジュールによる使用のみを目的とした関連機能をグループ化するために使用されます。
メイン パッケージで内部関数を使用できますか?
簡単に言うと「ノー」です。リフレクションを使用して内部パッケージをインポートすることは可能ですが、これはお勧めできません。これを行うと、カプセル化の原則が崩れ、将来予期しないエラーや動作が発生する可能性があります。
モジュール内の異なるパッケージ間で機能を共有する必要がある場合は、代わりに、非内部パッケージを作成し、それを通じて必要な API を公開します。これにより、API が適切に文書化および保守され、内部実装が変更されても安定した状態が保たれます。
以上がGo の内部パッケージをメイン プログラムにインポートして使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。