Primeros pasos con Go/Golang
Go es un lenguaje de programación compilado y estáticamente tipado. Este lenguaje fue creado por Robert Griesemer, Rob Pike y Ken Thompson dentro de Google. Fue anunciado en noviembre del 2009 y lanzaron la primera versión en Marzo 2012.
Cuando hablamos de un lenguaje de programación compilado hacemos referencia a que el código escrito en el debe pasar por el proceso de compilación para ser ejecutado en nuestra maquina.
Estáticamente tipado indica que le tenemos que dar/indicar el tipo a las variables o constante para poder almacenar algo en ellas.
Este lenguaje fue creado con el principal objetivo de crear procesos pesados, el mismo tiene el poder de C pero una sintaxis mas al estilo Python.
Podemos detallar muchas ventajas a la hora de decir porque usar este lenguaje, entre ellas se destacan:
- Gran velocidad de compilación.
- Soporte nativo para concurrencia.
- Alto rendimiento.
- Lenguaje con una gran comunidad detrás.
- Nos obliga a usar buenas practicas.
Hoy en día Go es muy usado en empresas o startups, por lo cual el nicho de uso es muy grande. Entre estas encontramos a Google, MercadoLibre, Twitter, Twitch, entre otras.
Todo muy linda la historia, pero vamos a armar nuestro primer programa en Go.
Lo primero que tenemos que hacer es descargar e instalar Go en nuestra computadora.
Para este paso puntualmente, vamos a recurrir a la comunidad y a la documentación oficial dado que es clara y tiene un caso para cada sistema operativo.
Lo primero que vamos a hacer es crear un archivo con extensión .go
, en este archivo vamos a colocar todo nuestro código. Como nombre vamos a poner main.go
dado que es buena practica llamar así al punto de inicio o entrada de la aplicación.
Dentro de main.go
lo primero que tenemos que hacer es definir package, en nuestro caso caso será main.
package main
Dado que nuestro programa va a ser un programa de ejecución en consola, llamaremos un paquete de Go para poder imprimir en la misma. Este paquete se llama fmt.
import "fmt"
Seguido de esto crearemos nuestra función principal, esta se encargara de ejecutar todo el código.
func main() {
fmt.Println("Hola Mundo");
}
- func es la manera en la cual le decimos a Go, crea una función llamada main.
- fmt es el paquete que se encarga de imprimir en consola.
- Println indica que imprima algo y luego haga un salto de linea.
Una vez que escribamos esto vamos a guardar el archivo y pasaremos a compilar y ejecutar el mismo, tenemos dos maneras de realizar este proceso.
Compilando con go build
Una vez posicionado en la carpeta que se encuentra main.go
ejecutaremos el siguiente comando.
go build main.go
De manera mas genérica el comando seria así:
go build RUTA_AL_ARCHIVO
Una vez finalizada la ejecución del comando, proseguiremos a ejecutar nuestro programa.
./main
Automáticamente deberíamos ver un mensaje por consola diciendo, “Hola Mundo”.
La otra manera de ejecutar un proceso de compilación y ejecución de nuestro archivo es usando go run ARCHIVO, este comando resume los dos comandos anteriores a uno solo.
Internamente crea una carpeta temporal en la cual se encuentra la compilación del archivo y una vez finalizado este proceso procede a ejecutar el archivo compilado y a eliminar la carpeta temporal.
Este comando es recomendable usarlo en momento de desarrollo dado que nos ahorra unos segundos de tiempo, a la hora de usar cualquier aplicación escrita en Go en producción es necesario usar go build
VSCode Extensión recomendada
Si estas usando Visual Studio Code, contamos con una extensión para poder trabajar mas rápido y sin errores, la misma se llama Go y es creada por el Team de Golang .
Otra forma de ejecutar un programa Go es usando el Playground que nos brinda la pagina oficial de Golang o el IDE de JetBrains , tenemos una prueba gratuita, pero si somos estudiantes podemos acceder completamente al IDE de manera gratuita en la siguiente pagina Free Educational Licenses.
En los próximos días seguiremos hablando de Go y comenzaremos con sus variables y constantes.
Fuentes y links de interés:
Sitio oficial de Go/Golang
JetBrains Free Educational Licenses