Was bedeutet der Unterstrich vor einem Paketimport in Go?
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein für mich unverständliches Konstrukt gestoßen. In fremdem Code habe ich einen Paketimport mit einem Unterstrich (underscore) vor dem Paketnamen gesehen:
```go
import (
"fmt"
_ "github.com/lib/pq"
"database/sql"
)
```
Ich verstehe, dass `_` in Go als leerer Bezeichner (blank identifier) verwendet wird, wenn wir den Rückgabewert einer Funktion ignorieren wollen. Aber was macht er bei einem Import? Wenn wir ein Paket importieren, verwenden wir es normalerweise im Code, aber hier steht explizit, dass wir es nicht verwenden (sonst gibt der Compiler einen Fehler aus).
Ich habe versucht, diesen Import zu entfernen, und der Code funktionierte nicht mehr – der Compiler gab einen Fehler aus, dass der Treiber für PostgreSQL nicht gefunden wurde. Aber das Paket `pq` selbst wird nirgendwo im Code verwendet. Wie ist das möglich? Wofür ist das nötig?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen