Latest web development tutorials

Ir puntero del lenguaje

Ir lenguaje puntero es fácil de aprender, utilizar el puntero del lenguaje Go puede realizar más fácilmente algunas tareas.

Veamos paso a paso para aprender el idioma puntero Go.

Todos sabemos que la variable es un marcador de posición conveniente para las direcciones de memoria equipo de referencia.

Vaya búsqueda de caracteres del idioma es la dirección y, en una variable antes de usarla devolverá la dirección de memoria variable correspondiente.

El siguiente ejemplo demuestra la dirección de la variable en la memoria:

package main

import "fmt"

func main() {
   var a int = 10   

   fmt.Printf("变量的地址: %x\n", &a  )
}

Ejecutar los resultados de la salida el código de seguridad:

变量的地址: 20818a220

Ahora que entendemos lo que es una dirección de memoria y cómo acceder a él. A continuación, vamos a introducir puntero.


¿Qué es un puntero

Un puntero puede apuntar a cualquier dirección de memoria valor de la variable que apunta al valor de la dirección de memoria.

Al igual que las variables y constantes, antes de usar el puntero tiene que declarar un puntero. declaración de puntero en el siguiente formato:

var var_name *var-type

De tipo var tipo de puntero, var_name es un nombre de variable puntero, un asterisco se utiliza para especificar la variable como un puntero. La siguiente es una declaración de puntero válido:

var ip *int        /* 指向整型*/
var fp *float32    /* 指向浮点型 */

En este caso, es un puntero a int y el puntero float32.


Cómo utilizar el puntero

proceso de punteros:

  • Definir una variable puntero.
  • variable de puntero.
  • El valor del punto de acceso variable de puntero de dirección.

Delante del tipo de puntero añadir un asterisco (prefijo) para obtener un puntero apunta a.

package main

import "fmt"

func main() {
   var a int= 20   /* 声明实际变量 */
   var ip *int        /* 声明指针变量 */

   ip = &a  /* 指针变量的存储地址 */

   fmt.Printf("a 变量的地址是: %x\n", &a  )

   /* 指针变量的存储地址 */
   fmt.Printf("ip 变量的存储地址: %x\n", ip )

   /* 使用指针访问值 */
   fmt.Printf("*ip 变量的值: %d\n", *ip )
}

Los ejemplos de la aplicación de la salida anterior es:

a 变量的地址是: 20818a220
ip 变量的存储地址: 20818a220
*ip 变量的值: 20

Ir puntero nulo

Cuando después de un puntero no se define asocian con ninguna variable, su valor es nulo.

puntero nulo en también se llama un puntero nulo.

nula nula en concepto y otros idiomas, Nada, nada, NULL, al igual que todos se refieren a cero o valores en blanco.

Una variable puntero se abrevia comúnmente PTR.

Véanse los siguientes ejemplos:

package main

import "fmt"

func main() {
   var  ptr *int

   fmt.Printf("ptr 的值为 : %x\n", ptr  )
}

La salida del ejemplo anterior es:

ptr 的值为 : 0

Nulo el juicio puntero:

if(ptr != nil)     /* ptr 不是空指针 */
if(ptr == nil)    /* ptr 是空指针 */

Ir puntero Más

A continuación, vamos a introducir más idiomas Ir aplicaciones punteros:

contenido descripción
Ir matriz de punteros Se puede definir una matriz de punteros para almacenar direcciones
Ir puntero a un puntero Ir puntero del apoyo a un puntero
Ir como una función de los parámetros de puntero pasado Por referencia o la dirección del Senado, cuando la llamada de función puede cambiar su valor