Como Definir Ponteiros na Linguagem Golang

in #golang6 years ago (edited)

Ponteiros são variáveis que armazenam o endereço da memória usada por uma certa informação.

Por exemplo, vamos definir uma variável para armazenar um valor inteiro:

var a int = 37

A variável a armazena o valor 37, um inteiro, na memória.

Para criar um ponteiro que aponta para o endereço da variável a, usamos a seguinte notação:

var p *int = &a

Na expressão acima, declaramos um ponteiro com nome p. O tipo de dados é um ponteiro para um int, por isso tem um asterisco antes de int. No lado direito do sinal de igual, temos o ampersand & para obter o endereço da variável a.

Com o ponteiro p acima, podemos acessar o valor apontado por ele usando o operador de desreferenciação (dereferencing), que é um asterisco antes do nome da variável:

fmt.Printf("O valor apontado por p é %d\n", *p)
// => O valor apontado por p é 37

Podemos também modificar o valor referenciado pelo ponteiro fazendo uma atribuição da seguinte maneira:

*p = 62

Ao imprimir o valor de a, veremos que ele mudou:

fmt.Println(a) // => 62

Para aprender mais sobre como definir ponteiros na linguagem Golang, assista à aula do NBK Mundo Tech:

Nos vemos lá!

Sort:  

Obrigado por postar! Esse comentário é o novo bot que dará upvote 5% para todos os posts que usam a tag #pt. Ainda não votou em mim como witness? Clique aqui e dê o seu voto! É rápido!