¿Qué significa el guion bajo antes de la importación de un paquete en Go?
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con una construcción que no entiendo. En código ajeno vi una importación de paquete con un guion bajo (underscore) antes del nombre del paquete:
```go
import (
"fmt"
_ "github.com/lib/pq"
"database/sql"
)
```
Entiendo que `_` en Go se usa como identificador vacío (blank identifier) cuando queremos ignorar el valor de retorno de una función. Pero ¿qué hace en una importación? Porque si importamos un paquete, normalmente lo usamos en el código, y aquí está escrito explícitamente que no lo usamos (de lo contrario, el compilador daría un error).
Intenté quitar esta importación y el código dejó de funcionar: el compilador dio un error de que el driver para PostgreSQL no se encontraba. Pero el paquete `pq` no se usa en ninguna parte del código. ¿Cómo es posible? ¿Para qué sirve esa importación y cómo funciona?
Explíquenlo, por favor, en palabras simples. Estoy acostumbrado a Python, donde importar siempre significa usar explícitamente el módulo, y aquí hay algo de magia.
No answers yet.
Inicia sesión para dejar una respuesta