AD

¿Ya dominas lo básico? Un curso estructurado de Go es la vía rápida para dar el salto.

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 21 / 68

Escribir código seguro frente a nil

En esta lección evitarás el fallo por desreferenciar un puntero nulo.

Un puntero que no apunta a nada vale nil. Antes de usarlo hay que comprobarlo: if p != nil.

El código de ejemplo comprueba el puntero antes de leerlo y avisa cuando está vacío.

Go reduce mucho la frecuencia de este problema con los valores cero: un struct sin inicializar tiene sus campos vacíos pero es utilizable, y un nil map se puede leer sin fallar. Lo que sí falla es escribir en un map nil, y ese es un error muy frecuente al empezar — hay que crearlo con make().

Y hay una trampa célebre: una interfaz que contiene un puntero nulo no es igual a nil. Devolver un *MiError nulo como error hace que err != nil sea cierto aunque no haya error. Es de los errores más difíciles de diagnosticar de todo el lenguaje.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Go directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)