Importieren mit leerer Kennung: Ein praktischer Anwendungsfall
Die Programmiersprache Go ermöglicht den Import von Paketen ausschließlich wegen ihrer Initialisierungsnebenwirkungen. Dies kann erreicht werden, indem der leere Bezeichner als expliziter Paketname verwendet wird, wie in diesem Beispiel zu sehen ist:
import _ "foo/bar"
Diese Importanweisung schlägt vor, dass das Paket foo/bar für seine Initialisierungsfunktionen importiert wird, aber es ist Exportierte Funktionen werden im Importprogramm nicht verwendet.
Beispiel aus der Praxis: Datenbanktreiberregistrierung
Ein praktischer Anwendungsfall Dieses Konstrukt liegt in der Datenbanktreiberregistrierung. Ein Datenbanktreiberpaket enthält oft eine Initialisierungsfunktion, die den Treiber bei der Datenbankbibliothek registriert.
Beispielsweise registriert im go-sqlite3-Paket die folgende Init-Funktion den SQLite3-Treiber:
func init() { sql.Register("sqlite3", &SQLiteDriver{}) }
Durch den Import von go-sqlite3 mit einer leeren Kennung kann das importierende Programm den SQLite3-Treiber registrieren, ohne einen seiner exportierten Treiber direkt zu verwenden Funktionen:
import _ "github.com/mattn/go-sqlite3" func main() { // Connect to a SQLite3 database using the registered driver. }
Andere Beispiele für Nebenwirkungen der Initialisierung
Initialisierungsfunktionen können auch verwendet werden, um:
Das obige ist der detaillierte Inhalt vonWann sollten Sie den Blank Identifier-Import von Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!