Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Por que da problema com o import?

A gente tá em 2023 e uma linguagem que é pra ser "simples" dá esse problema todo com import ? Até o Java que é o terror de todo mundo (que nunca tocou no Java) é 100x mais simples. No meu PC nem existia essa pasta src, eu criei ela dentro da pasta do Go que tinha as outras duas e agora não consigo fazer esse import.

Meu projeto tá assim: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

É maluquice, não existe vídeo com menos de 10 min explicando como fazer um import local em Go.

O seu código de importação tá meio estranho. A barra invertida ("") não é usada assim em Go. Tem que ser barra normal ("/"), mesmo que você esteja no Windows.

Dá uma olhada na correção:

package main

import (
    "fmt"
    "banco_go/contas"
)

func main() {
    // Seu código aqui
}

Com essas mudanças, você deve conseguir fazer a importação de boa. Garante que o caminho do pacote e a estrutura dos diretórios estão certinhos. Se continuar com problema, me avisa com mais detalhes sobre a estrutura do seu projeto e se tem algum erro específico aparecendo. Vamos resolver isso!

solução!

Eu mudei aqui o pathing, e o workspace e deixei o import assim

import (
    "fmt"

    "github.com/trcosta97/OO-GO/contas"
)

e funcionou

O ideal é que você crie no diretório principal do seu projeto um módulo através do comando "go mod init nomedoseumodulo". Após isso, vai ser criado um arquivo da mesma forma que ocorre no print a seguir. Ai dessa forma fica mais simples você fazer as suas importações, porque normalmente ele vai buscar em um diretório padrão e não no que você realmente está com os projetos. Pelo menos, foi o que entendi.

Por exemplo, no meu caso iniciei com o comando "go mod init exercicios" e depois "go mod tidy" para instalar os pacotes necessários do projeto. Ele vai criar o arquivo .mod com o seguinte conteúdo:

module exercicios

go 1.21.4

O meu pacote está no arquivo contaCorrente.go e dentro dele está definido como "package contas", então neste arquivo está o meu pacote contas. Para eu importar ele em outro arquivo devo escrever da seguinte forma "exercicios/contas" (exercicios é o nome do módulo e contas o nome do meu pacote).

Uma observação é que separei os exercicíos em 2 pastas diferentes, isso porque, neste caso, não vai poder ter dois arquivos que importam o package main no mesmo diretório.

Exemplo de criação de módulo