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á!
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!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit