Que signifie le symbole de soulignement avant l'importation d'un paquet en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go et je suis tombé sur une construction que je ne comprends pas. Dans du code écrit par quelqu'un d'autre, j'ai vu une importation de paquet avec un symbole de soulignement (underscore) avant le nom du paquet :
```go
import (
"fmt"
_ "github.com/lib/pq"
"database/sql"
)
```
Je comprends que `_` en Go est utilisé comme identifiant vide (blank identifier) lorsque nous voulons ignorer la valeur de retour d'une fonction. Mais que fait-il dans une importation ? En effet, si nous importons un paquet, nous l'utilisons généralement dans le code, mais ici il est explicitement écrit que nous ne l'utilisons pas (sinon le compilateur générera une erreur).
J'ai essayé de supprimer cette importation, et le code a cessé de fonctionner — le compilateur a généré une erreur indiquant que le driver pour PostgreSQL n'était pas trouvé. Mais pourtant, le paquet `pq` n'est utilisé nulle part dans le code. Comment est-ce possible ? À quoi sert cette importation ?