Los punteros son útiles, ya que nos permiten almacenar la memoria de una dirección donde se almacenan los datos de una variable. Usando punteros, determinamos el valor almacenado por la variable en esa dirección de memoria.
En este artículo amigable para principiantes, discutiremos cómo comenzar con consejos en el lenguaje de programación GO.
Golang declara variable
Declaramos un puntero igual que declaramos una variable normal. Sin embargo, usamos el operador de dererencia para mostrar que la variable contiene un puntero.
Antes de declarar una variable, hay dos operadores con los que debemos estar familiarizados:
La sintaxis a continuación muestra cómo declarar una variable de puntero:
var pointer_name *data_typePor ejemplo, el siguiente código declara una variable de puntero "PTR" que contiene la dirección de los tipos int tipos.
var ptr *intGolang Inicializar puntero
Podemos inicializar un puntero asignando la dirección de memoria de una variable utilizando el operador de direcciones, que se muestra arriba.
Un ejemplo es como se muestra:
paquete principalEn el ejemplo anterior, comenzamos declarando una variable que contiene un valor entero. Luego creamos un puntero que contiene la dirección de memoria de la variable.
Una vez que imprimimos la dirección, debemos obtener una salida de ejemplo como se muestra:
$ Go Run Pointer.irTambién podemos declarar una variable y establecer el valor más adelante en el código. Un ejemplo es como se muestra:
paquete principalAquí, declaramos el puntero y luego establecemos su valor utilizando el operador de direcciones.
Golang nil Pointer
Si declara un puntero y no asigna un valor, el puntero contiene un valor nulo. Por ejemplo:
paquete principalEl código anterior devuelve nil.
Tipo de puntero
En nuestro ejemplo, declaramos el tipo de puntero. Esto significa que el puntero solo puede mantener la memoria abordada del tipo de datos especificado.
Si intenta almacenar la dirección de otro tipo, el compilador devuelve un error como se muestra en el ejemplo a continuación:
paquete principalEn el ejemplo anterior, declaramos una variable con el tipo int. Sin embargo, asignamos una dirección de un tipo de cadena.
El compilador devuelve un error como:
.\puntero.Ir: 11: 6: No puedo usar & str (tipo *cadena) como tipo *int en la asignaciónPara evitar esto, puede usar el método literal de declaración de puntero. Por ejemplo, podemos hacer:
paquete principalEl ejemplo anterior permite que el compilador determine el tipo de dirección que se mantenga en el puntero especificado.
Golang Pointer Derferencia
Para acceder al valor almacenado en una dirección específica, podemos usar el operador Derferencing. Un código de ejemplo es como se muestra:
paquete principalEl código anterior utiliza el operador Derference para obtener el valor almacenado en la dirección en poder del puntero "PTR"
La salida resultante es como:
X: 100Conclusión
Esta guía lo guía a través de los conceptos básicos de trabajar con consejos en Go. Usando punteros, puede acceder y almacenar la dirección de memoria de una variable. También puede usar el puntero para acceder a la variable almacenada en una dirección de memoria específica.
Gracias por leer!