O que significa o símbolo de sublinhado antes da importação de um pacote em Go?
Olá a todos! Comecei a estudar Go recentemente e me deparei com uma construção que não entendi. No código de outra pessoa, vi uma importação de pacote com o símbolo de sublinhado (underscore) antes do nome do pacote:
```go
import (
"fmt"
_ "github.com/lib/pq"
"database/sql"
)
```
Eu entendo que `_` em Go é usado como um identificador vazio (blank identifier) quando queremos ignorar o valor de retorno de uma função. Mas o que ele faz na importação? Afinal, se importamos um pacote, normalmente o usamos no código, mas aqui está claramente escrito que não o usamos (caso contrário, o compilador daria erro).
Tentei remover essa importação, e o código parou de funcionar — o compilador deu erro informando que o driver para PostgreSQL não foi encontrado. Mas o pacote `pq` não é usado em nenhum lugar do código. Como isso é possível? Para que serve essa importação e como ela funciona?
Explique, por favor, em palavras simples. Estou acostumado com Python, onde importar sempre significa usar o módulo explicitamente, mas aqui parece mágica.
<<>>