ホームページ >バックエンド開発 >Golang >Go の単一の名前空間にすべてのサブパッケージをインポートできますか?

Go の単一の名前空間にすべてのサブパッケージをインポートできますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-22 08:43:10245ブラウズ

Can You Import All Subpackages Under a Single Namespace in Go?

Go によるサブパッケージのインポート

Go モジュールを使用する場合、親ディレクトリから複数のサブパッケージをインポートする必要がある状況が発生することがあります。従来のアプローチは、次の例に示すように、各サブパッケージを個別にインポートすることです。

package main

import "one/entities/bar/sub1"
import "one/entities/bar/sub2"

func main() {

}

ただし、すべてのサブパッケージを単一の名前空間にインポートするなど、より簡潔なソリューションが必要な場合もあります。インポート構文ではパッケージ名またはパスの明示的な指定が必要なため、これは Go では直接実行できません。

// Invalid Syntax:
import bar "one/entities/bar/*"

Go の import ステートメントでは、インポートされる要素のソースを決定するために特定のパッケージ名またはパスが必要です。そのため、この言語ではワイルドカードのインポートはサポートされていません。

最終的に、最も実行可能なオプションは、必要な各サブパッケージを手動でインポートすることです:

package main

import (
    "log"
    "one/entities/bar/sub1"
    "one/entities/bar/sub2"
)

func main() {

    v := sub1.GetVar()
    log.Fatal(v)

}

以上がGo の単一の名前空間にすべてのサブパッケージをインポートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。