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

problemas com import

Pra variar tô tendo problema com os imports

package routes

import (
    "net/http"

    "web-app/controller"
)

func CarregaRotas() {
    http.HandleFunc("/", controller.Index)
}

o improt do controller ta dando o erro "could not import web-app/controller (no required module provides package "web-app/controller")"

o estranho é que quando eu chamo o controller na CarregarRotas ele nao da erro, mas seu eu tiro o import dele da.

package controllers

import (
    "http/template"
    "net/http"
    "web-app/models"
)

var temp = template.Must(template.ParseGlob("templates/*.html"))

func Index(w http.ResponseWriter, r *http.Request) {
    produtos := models.BuscaTodosOsProdutos()
    temp.ExecuteTemplate(w, "Index", produtos)
}

aqui é a mesmoa coisa com o import do template. Da no import se eu deixo ele lá e da erro na funcao se eu tiro o import.

2 respostas

E aí Thiago!

Vamos tentar resolver esses pepinos nos imports aí. Olha só, pelo que eu tô vendo, o problema pode ser na forma como tá estruturado o teu projeto ou nas dependências do módulo.

Primeiro, dá uma conferida se o teu projeto tá organizado certinho. O nome do módulo e a estrutura de pastas têm que bater, senão o Go fica meio perdido.

Outra parada que pode tá pegando é se tu não tá usando o caminho completo na hora do import. Tenta colocar o caminho completo tipo assim:

import (
    "net/http"
    "seuprojeto/web-app/controller"
)

Faz o mesmo esquema lá no controller também:

import (
    "html/template"
    "net/http"
    "seuprojeto/web-app/models"
)

Ah, e outra coisa, vê se tá tudo certinho no teu arquivo go.mod. Às vezes, o Go não consegue resolver as dependências direito, daí fica esse rolo nos imports.

Depois dessas conferências, dá um go run no teu projeto e vê se os erros ainda insistem. Se continuar na ressaca dos imports, a gente pensa em outras formas de resolver.

solução!

O problema era que eu tava adicionando http/templates ao invés de html/templates e controller ao invés de controllers