Menu
Coddy logo textTech

Punteros Nil

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 65 de 109.

Un puntero nil es un puntero que no apunta a nada. Es el valor cero para los tipos de puntero.

Declara un puntero nil:

var ptr *int
fmt.Println(ptr)
fmt.Println(ptr == nil)

La salida muestra que el puntero es nil:

<nil>
true

Intentar desreferenciar un puntero nil provoca un pánico:

var ptr *int
// Esto hará que tu programa falle
// fmt.Println(*ptr)

Comprueba siempre si un puntero es nil antes de desreferenciarlo:

if ptr != nil {
    fmt.Println(*ptr)
}
challenge icon

Desafío

Principiante

En este desafío, trabajarás con punteros nil en Go. Un puntero nil es un puntero que no apunta a ninguna dirección de memoria.

Tu tarea es verificar si un puntero es nil e imprimir un mensaje apropiado.

El código ya tiene una variable de puntero que está establecida en nil. Debes agregar código para verificar si el puntero es nil e imprimir un mensaje en consecuencia.

Hoja de referencia

Un puntero nil es un puntero que no apunta a nada. Es el valor cero para los tipos de puntero.

Declarar un puntero nil:

var ptr *int
fmt.Println(ptr)        // <nil>
fmt.Println(ptr == nil) // true

Comprueba siempre si un puntero es nil antes de desreferenciarlo para evitar pánicos:

if ptr != nil {
    fmt.Println(*ptr)
}

Pruébalo tú mismo

package main

import "fmt"

func main() {
	// Este es un puntero nil a un entero
	var ptr *int
	
	// TODO: Verificar si ptr es nil
	// Si es nil, imprimir "The pointer is nil"
	// Si no es nil, imprimir "The pointer is not nil"
	
	fmt.Println("Program completed")
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos