Uso de punteros

¿Qué son los punteros en programación?

Cuando una variable se declara en Go, una dirección en la memoria es asignada. Esto permite que el valor que la variable tenga, pueda ser almacenado, modificado y leído. Es posible acceder a esta dirección utilizando el carácter & precidiendo el nombre de la variable.

Ejemplo sencillo del uso de punteros en Go

package main

import "fmt"

func main() {
    color := "rojo"
    fmt.Println(color, &color)
}
rojo 0xc00000e1e0

La variable color, con el valor rojo, tiene la dirección 0xc00000e1e0 en la memoria, y esta en base hexadecimal (base16).

Ejemplo de diferencia copia vs referencia en Go

package main

import "fmt"

func main() {

    vehiculo1 := "rojo"
    fmt.Println("El vehiculo1 es", vehiculo1)

    vehiculo2 := vehiculo1
    fmt.Println("El vehiculo2 es", vehiculo2)

    vehiculo3 := &vehiculo1
    fmt.Println("El vehiculo3 es", *vehiculo3)

    vehiculo1 = "gris"

    fmt.Println("El vehiculo1 es", vehiculo1, &vehiculo1)
    fmt.Println("El vehiculo2 es", vehiculo2, &vehiculo2)
    fmt.Println("El vehiculo3 es", *vehiculo3, vehiculo3)

}

Salida

El vehiculo1 es rojo
El vehiculo2 es rojo
El vehiculo3 es rojo
El vehiculo1 es gris 0xc000010230
El vehiculo2 es rojo 0xc000010250
El vehiculo3 es gris 0xc000010230

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios