Skip to content

Instantly share code, notes, and snippets.

@stanlee321
Last active September 11, 2020 15:31
Show Gist options
  • Save stanlee321/a1c904040d44e5f3a4c28b88287fbc30 to your computer and use it in GitHub Desktop.
Save stanlee321/a1c904040d44e5f3a4c28b88287fbc30 to your computer and use it in GitHub Desktop.
Snipeds Go
/*
Aprendiendo Golang
Author: Stanley Salvatierra
Email: [email protected]
-----
TEMA: Apuntadores
-----
*/
// Se crea un packete con el mombre "main" por convencion.
// Este nombre puede ser cualquier nombre.
package main
// Importar la libreria para hacer "print()" como en Python
import "fmt"
// Crear la funcion principal
func main(){
// Crear una variable cualquiera
// en Go a las variables se les asigna valor con :=
x := 8
// Crear una variable que apunte a la
// "direccion en memoria" o "Pointer" o "Apuntador" de "x"
// esto se lo hace con un "&" en frente de la variable
// a la que queremos sacarle la "direccion en memoria"
y := &x
// Imprimir el valor de X
fmt.Println("Valor de x: ", x)
// El resultado impreso con: $go run main.go
/*
Valor de x: 8
*/
// Asignar un nuevo valor a "y"
// Para acceder al valor de y utilizamos un "*",
// en frente de la variable ya que el valor de "y"
// es el valor de "x" estamos cambiando
// tambien el valor de "x".
*y = 16
// Como "y" es apunta a la direccion en memeoria de "x"
// "x" tambien sera 16.
// "x" no necesita un "*" ya que es la variable original
// "y" es la "interface" a "x" y por esto necesitamos decirle
// que queremos sacar el valor al que esta apuntando.
fmt.Println("Valor de x: ", x)
fmt.Println("Valor de y: ", *y)
// El resultado sera:
/*
Valor de x: 16
Valor de y: 16
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment