Golang では、パッケージをインポートするとき、開発者は通常、インポート "package_path" 構文を使用して、そのパッケージを指定して特定のパッケージをインポートします。フルパス。ただし、開発者が特定のディレクトリ内のすべてのサブパッケージをインポートする必要があるシナリオもあります。
次のディレクトリ構造を考慮してください:
main.go entities/ bar/ foo.go baz.go
main.go には次のコードがあるかもしれません:
package main import "entities/bar" func main() { _ = bar.Get.Basic.Req.Headers{} // Assuming `bar` contains the nested structure }
When go install main を使用してこのプロジェクトをコンパイルすると、bar ディレクトリに Go ファイルがないことを示すエラーが発生します。これは、Go がディレクトリ内のすべてのサブパッケージをインポートできるワイルドカード インポートをサポートしていないためです。
Golang インポート構文では、パッケージ名またはパッケージ名を指定する必要があります。インポートするパッケージのパス。これが必要なのは、インポートされたパッケージの識別子 (パッケージ名) がエクスポートされた識別子にアクセスするために使用されるためです。たとえば、上記の例では、 bar はネストされた Get.Basic.Req.Headers 構造にアクセスするために使用されるパッケージ名です。
Go にはワイルドカード インポートの直接サポートがないため、同様の機能を実現するには、代替ソリューションが必要です:
以上がGolang でワイルドカード インポートを使用してディレクトリ内のすべてのサブパッケージをインポートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。