Go: Solución a destination not a pointer

En este artículo te mostraré cómo solucionar el error que dice algo como destination not a pointer al trabajar con bases de datos en el lenguaje Go, también conocido como Golang.

Explicación

El error nos lo dice todo: el destino que estamos enviando, no es un puntero. Recuerda que al leer datos de una base de datos usando Scan, se debe enviar el apuntador a la variable, y no la variable en sí.

Puede que en tu caso estés haciendo algo así:

var nombre string
filas.Scan(nombre)

Si te fijas, estamos intentando escanear dentro de la variable nombre. Esto causa el error.

Solución

En lugar de pasar la variable, pasa el apuntador a la misma. Recuerda que para obtener la dirección de memoria usamos & así que el ejemplo anterior quedaría así:

var nombre string
filas.Scan(&nombre)

Ahora estamos pasando la dirección de la variable, y así se estará escaneando correctamente.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *