Heim >Backend-Entwicklung >Golang >Können Sie in Go alle Unterpakete unter einem einzigen Namespace importieren?

Können Sie in Go alle Unterpakete unter einem einzigen Namespace importieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-22 08:43:10240Durchsuche

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

Unterpakete mit Go importieren

Bei der Arbeit mit Go-Modulen kann es vorkommen, dass Sie mehrere Unterpakete aus einem übergeordneten Verzeichnis importieren müssen. Der herkömmliche Ansatz besteht darin, jedes Unterpaket einzeln zu importieren, wie im Beispiel zu sehen:

package main

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

func main() {

}

Sie wünschen sich jedoch möglicherweise eine prägnantere Lösung, z. B. den Import aller Unterpakete unter einem einzigen Namensraum. Dies ist in Go nicht direkt möglich, da die Importsyntax eine explizite Angabe von Paketnamen oder -pfaden erfordert.

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

Die Importanweisung von Go erfordert einen bestimmten Paketnamen oder -pfad, um die Quelle importierter Elemente zu bestimmen. Daher werden Wildcard-Importe in der Sprache nicht unterstützt.

Letztendlich besteht die praktikabelste Option darin, jedes erforderliche Unterpaket manuell zu importieren:

package main

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

func main() {

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

}

Das obige ist der detaillierte Inhalt vonKönnen Sie in Go alle Unterpakete unter einem einzigen Namespace importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn