Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Cuidado com o Scan

Acho q não fica claro e devia ser reforçado para os iniciantes que a ordem do Scan afeta o diretamente o sistema. O professor declara as variáveis, mas na hora de dar o Scan se a ordem não for &id, &nome, &descricao, &preco, &quantidade a aplicação dá crash com erro de conversão. Levei um tempinho pra descobrir, mas fica aí o alerta.

1 resposta
solução!

Olá Alex, tudo bem com você?

Você está correto. A ordem dos argumentos no método Scan deve ser respeitada para evitar erros de conversão.

Para contextualizar, no trecho da aula em que é utilizado o método Scan, ele está sendo utilizado para ler os dados retornados de uma consulta SQL. Exemplo:

produtoDoBanco, err := db.Query("select * from produtos where id=$1", id)
...
var id, quantidade int
var nome, descricao string
var preco float64
err = produtoDoBanco.Scan(&id, &nome, &descricao, &preco, &quantidade)

No exemplo acima, a ordem dos argumentos passados para o método Scan deve corresponder à ordem das colunas retornadas pela consulta SQL. Se a ordem dos argumentos não corresponder à ordem das colunas, um erro de conversão pode ocorrer, como você mencionou. Por isso, a importância de sempre verificar a ordem dos campos retornados pela consulta SQL e garantir que a ordem dos argumentos no método Scan corresponda a ela.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!