Heim > Backend-Entwicklung > Golang > Warum Unterstriche beim Importieren von Paketen in Go verwenden?

Warum Unterstriche beim Importieren von Paketen in Go verwenden?

Mary-Kate Olsen
Freigeben: 2024-12-24 14:43:10
Original
901 Leute haben es durchsucht

Why Use Underscores When Importing Packages in Go?

Importieren von Paketen mit Nebenwirkungen in Go

Beim Untersuchen von Code, der die go-sqlite3-Bibliothek verwendet, stößt man möglicherweise auf eine Importanweisung mit einem Unterstrich davor, ähnlich wie folgt:

import (
        "database/sql"
        "fmt"
        _ "github.com/mattn/go-sqlite3"
        "log"
        "os"
)
Nach dem Login kopieren

Diese Verwendung des Unterstrichs ist eine Methode in Go für den Import eines Pakets ausschließlich wegen seiner Nebenwirkungen. Wie in der Go-Spezifikation beschrieben:

To import a package solely for its side-effects (initialization), use the blank identifier as explicit package name:

import _ "lib/math"
Nach dem Login kopieren

Beispiel: go-sqlite3-Initialisierung

Im Fall von go-sqlite3 dient dieser Unterstrichimport dem Zweck der Registrierung den sqlite3-Treiber als Datenbanktreiber über die Funktion init(), ohne dass andere Funktionen aus importiert werden müssen Paket:

sql.Register("sqlite3", &SQLiteDriver{})
Nach dem Login kopieren

Nach der Registrierung kann der SQLite3-Treiber mit der SQL-Schnittstelle der Standardbibliothek verwendet werden, wie im folgenden Beispiel dargestellt:

db, err := sql.Open("sqlite3", "./foo.db")
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum Unterstriche beim Importieren von Paketen in Go verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage