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!