Os ponteiros são úteis, pois nos permitem armazenar a memória de um endereço em que os dados mantidos por uma variável são armazenados. Usando ponteiros, determinamos o valor armazenado pela variável naquele endereço de memória.
Neste artigo para iniciantes, discutiremos como começar com dicas na linguagem de programação Go.
Golang declare variável
Declaramos um ponteiro da mesma forma que declaramos uma variável normal. No entanto, usamos o operador de desreferência para mostrar que a variável contém um ponteiro.
Antes de declarar uma variável, há dois operadores com o qual precisamos estar familiarizados:
A sintaxe abaixo mostra como declarar uma variável de ponteiro:
var pointer_name *data_typePor exemplo, o código abaixo declara uma variável de ponteiro "PTR" que mantém o endereço de INT Tipos.
var ptr *intGolang inicializa o ponteiro
Podemos inicializar um ponteiro alocando o endereço de memória de uma variável usando o operador de endereço, mostrado acima.
Um exemplo é como mostrado:
Pacote principalNo exemplo acima, começamos declarando uma variável segurando um valor inteiro. Em seguida, criamos um ponteiro segurando o endereço de memória da variável.
Depois de imprimir o endereço, devemos obter um exemplo de saída como mostrado:
$ go run ponteiro.irTambém podemos declarar uma variável e definir o valor posteriormente no código. Um exemplo é como mostrado:
Pacote principalAqui, declaramos o ponteiro e depois definimos seu valor usando o operador de endereço.
Ponteiro de Golang Nil
Se você declarar um ponteiro e não atribuir um valor, o ponteiro contém um valor nulo. Por exemplo:
Pacote principalO código acima retorna nil.
Tipo de ponteiro
Em nosso exemplo, declaramos o tipo de ponteiro. Isso significa que o ponteiro só pode manter a memória endereçada do tipo de dados especificado.
Se você tentar armazenar o endereço de outro tipo, o compilador retornará um erro, como mostrado no exemplo abaixo:
Pacote principalNo exemplo acima, declaramos uma variável com tipo int int. No entanto, atribuímos um endereço de um tipo de string.
O compilador retorna um erro como:
.\ ponteiro.GO: 11: 6: Não é possível usar e str (tipo *string) como tipo *int na atribuiçãoPara evitar isso, você pode usar o método de declaração literal de ponteiro. Por exemplo, podemos fazer:
Pacote principalO exemplo acima permite que o compilador determine o tipo de endereço para manter no ponteiro especificado.
Dereferência de Ponteiro de Golang
Para acessar o valor armazenado em um endereço específico, podemos usar o operador de desreferência. Um código de exemplo é como mostrado:
Pacote principalO código acima usa o operador de desreferência para obter o valor armazenado no endereço mantido pelo ponteiro "PTR"
A saída resultante é como:
X: 100Conclusão
Este guia orienta você pelo básico de trabalhar com dicas em Go. Usando ponteiros, você pode acessar e armazenar o endereço de memória de uma variável. Você também pode usar o ponteiro para acessar a variável armazenada em um endereço de memória específico.
Obrigado pela leitura!