Heim > Backend-Entwicklung > Golang > Was bedeutet ein Unterstrich in einer Go-Import-Anweisung?

Was bedeutet ein Unterstrich in einer Go-Import-Anweisung?

Patricia Arquette
Freigeben: 2024-12-28 02:41:09
Original
333 Leute haben es durchsucht

What Does an Underscore in a Go Import Statement Mean?

Unterstrich in Importanweisungen: Nebenwirkungen untersuchen

In der Programmierung dient ein Unterstrich vor einer Importanweisung einem bestimmten Zweck. Betrachten Sie diesen Codeausschnitt von go-sqlite3:

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

Hier wirft der Unterstrich vor der Importanweisung für „github.com/mattn/go-sqlite3“ die Frage auf: Was bewirkt das? bedeuten?

Bedeutung und Zweck

Der Unterstrich in einer Importanweisung bedeutet, dass ein Paket ausschließlich wegen seiner Nebenwirkungen importiert wird, ohne seine Funktionen oder Variablen zu importieren. Gemäß der Go-Spezifikation:

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

Im Kontext von go-sqlite3

Im Fall von go-sqlite3 hat der Unterstrichimport eine bestimmte Seite- Wirkung. Es registriert den sqlite3-Treiber als Datenbanktreiber. Dies erfolgt innerhalb der init()-Funktion des Pakets, die während der Paketinitialisierung ausgeführt wird.

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

Durch die Registrierung des Treibers können Sie sqlite3 mit der SQL-Schnittstelle der Standardbibliothek verwenden:

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

Das obige ist der detaillierte Inhalt vonWas bedeutet ein Unterstrich in einer Go-Import-Anweisung?. 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