🥇 Uso de punteros.

🍿 Que 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 leido. Es posible acceder a esta dirección utilizando el caracter & 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)

}
Scope. Valor vs Referencia (Copia vs Puntero)
comments powered by Disqus