2
respostas

[Dúvida] Erro na variável produtos

Boa tarde pessoal, vejam se conseguem me ajudar, estou tento problema na referencia da variável p, ou seja produtos, ele dá undefined.( ./main.go:51:7: undefined: Produto ./main.go:52:16: undefined: Produto )

MEU CÓDIGO COMPLETO FICA EM:

https://github.com/Gabriel-Newton-dev/Loja_Suplementos

func index(w http.ResponseWriter, r *http.Request) { db := conectaComBancoDeDados()

selectDeTodosOsProdutos, err := db.Query("select * from public.produtos")
if err != nil {
    panic(err.Error())
}

// criei essa variavel p, que irá receber apenas 1 produto, eu irei armanezar o que vem do banco de dados.
// criei variavel produto para receber o slice do Produto{}

p := Produto{}
produtos := []Produto{}

// criamos um for para verificar linha a linha, ou seja o selectDeTodosOsProdutos. next, próxima linha.
for selectDeTodosOsProdutos.Next() {
    var id, quantidade int
    var nome, descricao string
    var preco float64

    // iremos scanear linha a linha, irei guardar em uma variavel de erro, e quero que fique armazenado dentro da memória do meu computador ( &)
    err = selectDeTodosOsProdutos.Scan(&id, &nome, &descricao, &preco, &quantidade)
    if err != nil {
        panic(err.Error())
    }

    p.Nome = nome
    p.Descricao = descricao
    p.preco = preco
    p.Quantidade = quantidade

    produtos = append(produtos, p)

}

temp.ExecuteTemplate(w, "Index", produtos)
defer db.Close()

}

2 respostas

Pessoal consegui identificar o projeto e corrigi o mesmo, eu identifiquei 2 problemas, ambos relacionado a Struct eu tinha colocado nome da struct como Produtos ( no plural ) e dentro da struct em uma das variáveis como nome Valor ao inves de preço e na função Index referenciei com Preco ao invés de Valor, resumindo, corrigi esses problemas e programa rodando 100 %.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeFiz a identificação desse erro mas, verifiquei que você conseguiu identificar! A struct não foi disponibilizada na imagem.

Bons estudos!