GOPATH
Você pode executar o comando no powershell echo $env:GOPATH
ou no bash echo$GOPATH
isso retornará o valor da var, por padrão e recomendação da instalação será /home/seu-user/go
Por default o go buscará as dependências no destino $GOPATH/src/github.com/seu-user/seu-projeto
ou seja /home/seu-user/go/src/github.com/seu-user/seu-projeto
, logo seu projeto deve estar nesse GOPATH e importar os pacotes deve conter:
import (
"github.com/seu-usuario/meuprojeto/pacotequequerimportar"
)
Gerenciando Mod fora do GOPATH
Aqui explicitamente criaremos o mod, execute o comando go mod init github.com/seu-user/seu-projeto
em sua pasta do projeto, perceba que dentro da sua pasta aparecerá o mod.go
com o nome do módulo e a versão do go.
module github.com/igorferrati/servidor-go
go 1.21.4
Quando utilizar pacotes externos como por exemplo o github.com/lib/pq
deve rodar o comando go get github.com/lib/pq
observe que no seu arquivo go.mod
terá agora essa dependência.
Por fim, agora para você gerenciar seus pacotes FORA do GOPATH dizendo para ele buscar no seu go.mod, não sei quais são as melhores práticas para gerenciar os pacotes, porém é assim que funciona e foi assim que solucionei meu problema de import.