Aufrufen von Paketfunktionen ohne Paketqualifizierer in Go
In Go ermöglicht das Importieren von Paketen den Zugriff auf ihre exportierten Funktionen und Typen innerhalb des Importpakets. Allerdings kann es zu Szenarios kommen, in denen der Aufruf von Funktionen ohne Verwendung des Paketnamens wünschenswert ist.
Expliziten Periodenimport
Die Go-Spezifikation bietet eine Lösung durch die explizite Periode (. ) import:
<code class="go">package main import . "fmt" // Import package without a name func main() { Println("Hey there") // Invoke fmt.Println without qualifier }</code>
Obwohl dies effektiv ist, rät die Go-Community im Allgemeinen von der Verwendung expliziter Punktimporte ab, da sie Probleme mit der Lesbarkeit haben.
Referenzen auf Paketebene
Ein alternativer Ansatz besteht darin, Referenzen auf Paketebene mithilfe von Typaliasen zu deklarieren:
<code class="go">package main import "fmt" var Println = fmt.Println // Reference to fmt.Println as package-level variable type ScanState = fmt.ScanState // Type alias for fmt.ScanState func main() { Println("Hello, playground") // Invoke Println without qualifier }</code>
Diese Methode ermöglicht die explizite Steuerung darüber, welche Funktionen und Typen aus dem importierten Paket exportiert werden.
Das obige ist der detaillierte Inhalt vonWie können Sie Go-Paketfunktionen aufrufen, ohne den Paketnamen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!