16/07/2022

Hello Go

Hello Go

Un pequeño recordatorio. Si de verdad completó el tour de Go puede pasar de inmediato al siguiente artículo.

Tomemos el siguiente programa (puede ejecutarlo en el Go playground en https://go.dev/play/p/lBlmIOs1svX)

package main



import "fmt"

var myGlobal = 12

func main() {
	fmt.Println(myGlobal)
}

Y analisemoslo línea a línea. Primero nos encontramos con:

package main

Lo cual es la declaración de nuestro paquete. En terminos planos, un paquete es un directorio que contiene archivos fuente de go u otros paquetes. Toda función, variable o tipos que definamos, debe pertenecer a un paquete. Podemos verlos como contenedores que guardan piezas reusables de código.

El package main es un paquete especial que le indica al compilador Go que el archivo será convertido en un ejecutable. Si ud. quiere ejecutar el código de su paquete directamente, necesita llamarlo main.

import "fmt"

import permite incorporar código de otros paquetes. La línea anterior dice Trae el código encapsulado en el paquete fmt y dejame usarlo a través del nombre del paquete. Los imports aplican solo en el archivo en el cual se declaran, si necesita importar el mismo paquete a través de distintos archivos fuente, debe declarar el import en cada uno de ellos.

var myGlobal = 12

En esta línea, declaramos una variable de paquete privada. Es una variable de paquete porqué fue definida en el ámbito de este sin estar dentro de alguna función. Por lo tanto todo el código que pertenezca al mismo paquete podrá acceder a ella aunque sea desde un archivo fuente distinto al que fue declarada

Note que la variable myGlobal comienza con una letra minúscula. En Go, si queremos que nuestras definiciones (variables, funciones, otros) no puedan ser accedidos desde fuera del paquete, sean privadas de este, simplemente debemos comenzarlas con una letra minúscula.

  func main() {

En esta línea, definimos una función, pero no cualquier función. main es una función especial para Go, y le indica al compilador el punto de partida de nuestra aplicación. Es decir, nuestra aplicación comenzará en la función main del paqeute main.

fmt.Println(myGlobal)

Esta línea imprime el contenido de la variable myGlobal usando la función Print del paquete fmt. Note como se accede a la funcionalidad ofrecida por un paquete usando la notación nombrePaquete.nombreFuncion

0 comentarios:

Publicar un comentario