Menu
Coddy logo textTech

Ponteiros Nil

Parte da seção Fundamentos do Journey de GO da Coddy — lição 65 de 109.

Um ponteiro nil é um ponteiro que não aponta para nada. É o valor zero para tipos de ponteiro.

Declare um ponteiro nil:

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

A saída mostra que o ponteiro é nil:

<nil>
true

Tentar desreferenciar um ponteiro nil causa um pânico:

var ptr *int
// Isso fará seu programa travar
// fmt.Println(*ptr)

Sempre verifique se um ponteiro é nil antes de desreferenciá-lo:

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

Desafio

Iniciante

Neste desafio, você trabalhará com ponteiros nil em Go. Um ponteiro nil é um ponteiro que não aponta para nenhum endereço de memória.

Sua tarefa é verificar se um ponteiro é nil e imprimir uma mensagem apropriada.

O código já possui uma variável de ponteiro que está definida como nil. Você precisa adicionar código para verificar se o ponteiro é nil e imprimir uma mensagem de acordo.

Folha de consulta

Um ponteiro nil é um ponteiro que não aponta para nada. É o valor zero para tipos de ponteiro.

Declare um ponteiro nil:

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

Sempre verifique se um ponteiro é nil antes de desreferenciá-lo para evitar panics:

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

Experimente você mesmo

package main

import "fmt"

func main() {
	// Este é um ponteiro nil para um inteiro
	var ptr *int
	
	// TODO: Verificar se ptr é nil
	// Se for nil, imprima "The pointer is nil"
	// Se não for nil, imprima "The pointer is not nil"
	
	fmt.Println("Program completed")
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos