Momento de conocer a Golang!!!

por Carlos
0 comentario

Es momento de conocer a Golang!!!, me encanta aprender nuevas cosas, así que ya hace un tiempo me di la tarea de salir del lenguaje que siempre fue mi eterno compañero (Java) si, si, si, todo eso pero aun goza de buena salud y es muy bien cotizado en las grandes compañías a nivel mundial. 😀

Bueno ya muchos lo saben, pero les contaré de todas maneras, Golang/Go es un lenguaje de programación open source, compilado y tipado estáticamente, fue desarrollado por Google y en su creación participaron Rob Pike, Robert Griesemer y Ken Thompson. Golang o Go fue publicado en noviembre del año 2009 y ya tiene casi doce años con nosotros.

Ventajas de Golang

¿Porque deberíamos usar Golang/Go? , sabemos que tenemos muchos lenguajes donde podemos elegir, porque uno más, si ya tenemos Node, Java, Python. Veamos por parte que tiene Golang para ofrecernos.

Lenguaje compilado

Golang/Go es un lenguaje compilado y por ello su código es compilado a un binario nativo. Esto no existe en lenguajes como Nodejs.

Compilación muy rápida

Golang fue diseñado para hacer una compilación muy rápida.

Recolección de basura

Golang/Go utiliza la recolección de basura y por ello la gestión de la memoria se realiza prácticamente de forma automática, por lo tanto nosotros como desarrolladores no debemos preocuparnos por la gestión de la memoria.

Opensource

Golang/Go es Open Source y por ello podemos participar/contribuir al proyecto aquí.

Concurrente

Con Golang/Go podemos ejecutar varias cosas al mismo tiempo, lanzar un proceso y, mientras éste se está ejecutando, realizar otras cosas, sin tener que esperar a que el proceso termine. No confundamos la concurrencia con paralelismo. Ya veremos esto algún día. 😀

Instalemos Golang!!

Para instalar Golang/Go en Mac tenemos Brew como opción, aunque hay más 😀

#Utilizando Brew
brew update && brew install golang

Luego creamos nuestros directorios de trabajo

mkdir -p $HOME/go/{bin,src,pkg}

Debemos definir las siguientes variables de entorno

export GOPATH=$HOME/go
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"

Ahora recargamos nuestra configuración, dependiendo de cual sea nuestra shell

source $HOME/.bashrc
source $HOME/.zshrc

Aro Aro Aro!!!! ( For English speakers, this is to say “with your permission”).

GOROOT es el directorio “raíz” de Golang/Go que contiene el código fuente de Go. Homebrew registra automáticamente esta ruta.

GOPATH Golang/Go adopta una postura rígida en la cual dice que todos los proyectos y dependencias del lenguaje deben existir en un solo directorio conocido como GOPATH. Cada vez que desarrollamos un proyecto Golang/Go o instalamos un módulo de terceros lo hacemos en este directorio.

Verificamos la instalación de Golang/Go

go version
go version go1.16.2 darwin/amd64

Ahora para crear un nuevo proyecto debemos hacerlo bajo el directorio (GOPATH)

$HOME/go/

El GOPATH que definimos consiste de 3 directorios

Si quieren saber para que es cada uno de los directorios, en la cli de Golang/Go tenemos un comando que explica muy bien esto.

go help gopath

Así se verán nuestros directorios

Ahora veamos que función cumple cada directorio

src: Este directorio contiene el código fuente. Este determina la ruta desde donde vamos a importar.

pkg: Este directorio contiene los package instalados. Como en el árbol de Golang, para cada sistema operativo y arquitectura tiene su propio subdirectorio.

bin: Este directorio contiene todos los compilados.

Nos vamos a crear una mini aplicación en Golang.

Creando Hello World

Vamos a ir a nuestro GOPATH y crearemos un directorio para contener nuestro proyecto

cd $GOPATH/src
mkdir helloworld
cd helloworld

Dentro de nuestro directorio helloworld, vamos a inicializar nuestro proyecto como un módulo Golang/Go. Esto quiere decir que cualquiera podrá instalar nuestro código Golang/Go desde Github.

go mod init github.com/{nombre_de_nuestro_repositorio}/helloworld

Después de ejecutar el comando anterior, veremos un nuevo archivo en el directorio, con el nombre go.mod

module github.com/{nombre_usuario}/nombre_repositorio

go 1.16

Este archivo contiene toda la información acerca de módulos, nombre de este mismo y versión de Golang/Go que estamos usando. Todas las versiones de dependencias serán almacenadas aquí.

Creamos nuestro primer código ejecutable

Vamos a usar GOLAND es un IDE para Golang de Jetbrains.

Ahora creamos un proyecto nuevo, creamos un archivo main.go

Dado que el IDE nos ayuda en la compilación tan sólo presionando el botón verde de “Play”, si queremos ejecutar el programa vía línea de comandos deberemos hacer lo siguiente

go build
go run main.go
Hello world Culture Tech.

Ya tenemos nuestra primera aplicación en Golang/Go.!!!!

Anímense a entrar en el mundo de Golang/Go, es un lenguaje muy bueno y fácil de aprender, tiene algunas cosas complejas y como todo, también sus desventajas que iremos analizando cuando estemos en ejemplos más avanzados. Espero que les guste, seguiré creando más ejemplos a partir de la base que construimos ahora y como siempre me dejan sus comentarios.

Un abrazo !!! 😉

You may also like