In der Welt der Go-Programmierung hat der Unterstrich ( _ ) vor einer Importanweisung eine bestimmte Bedeutung. Lassen Sie uns seine Bedeutung und Verwendung untersuchen.
Der Unterstrich (_) in einer Importanweisung zeigt an, dass das Paket ausschließlich wegen seiner Nebenwirkungen importiert wird. Es werden keine Funktionen, Methoden oder Variablen aus dem Paket importiert.
Einige Go-Pakete verfügen über Initialisierungsfunktionen (normalerweise mit dem Namen init() ), die Aktionen ausführen, wenn die Paket wird importiert. Zu diesen Aktionen kann das Registrieren benutzerdefinierter Datenbanktreiber, das Initialisieren globaler Variablen oder das Konfigurieren der Protokollierung gehören.
Um ein Paket für seine Nebenwirkungen und nichts anderes zu importieren, lautet der Unterstrich-Bezeichner Wird als expliziter Paketname in der Importanweisung verwendet. Betrachten Sie beispielsweise den Codeausschnitt von go-sqlite3:
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
In diesem Fall registriert der Unterstrichimport von „github.com/mattn/go-sqlite3“ den sqlite3-Treiber bei der Standard-SQL-Bibliothek. Dadurch können Sie sqlite3 als Datenbankverbindung in Ihrem Code verwenden, ohne Funktionen aus diesem Paket importieren zu müssen.
Im Fall von go-sqlite3 der folgende Initialisierungscode wird ausgeführt, wenn das Paket importiert wird:
sql.Register("sqlite3", &SQLiteDriver{})
Mit dieser Registrierung können Sie sqlite3 wie folgt verwenden:
db, err := sql.Open("sqlite3", "./foo.db")
Unterstrich-Importanweisungen in Go sind eine bequeme Möglichkeit, ein Paket ausschließlich wegen seiner Nebenwirkungen zu importieren. Sie ermöglichen es Ihnen, Paketinitialisierungsroutinen zu nutzen, ohne Funktionen oder Variablen explizit zu importieren. Wenn Sie den Zweck und die Verwendung von Unterstrichimporten verstehen, können Sie Paketabhängigkeiten und Nebenwirkungen in Ihren Go-Projekten effektiv verwalten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3