Developer Experience
15
min de lectura
1 de julio de 2020

Introducción al Golang

Morvana Bonin
Ingeniero de Backend Software con una fuerte pasión por los patrones de diseño, el código limpio y la arquitectura software .
Más sobre el autor

* artículo desarrollado en colaboración con Andreia Camila da Silva

Golang o simplemente Go es un lenguaje de programación de código abierto creado en Google en 2007 por Robert Grieserer (V8), Rob Pike y Ken Thomps (UNIX & UTF-8), pero su anuncio sólo se hizo en 2009 y su versión 1.0 salió en 2012.

Aunque el lenguaje ya tiene más de 10 años, sólo recientemente hemos oído hablar más de él, especialmente con la adopción de su uso por software , de uso común y generalizado, como Docker y Kubernetes, desarrollado en el lenguaje.

La estructura del lenguaje Go es muy similar a la del lenguaje C, pero su curva de aprendizaje es más simple. Go es un lenguaje creado para aprovechar al máximo las computadoras con recursos multinúcleo, facilitando así la compilación de código de una manera eficiente y naturalmente cooperativa con las abstracciones de los sistemas operativos actuales.

Instalación del Golang

Una nota rápida antes de tratar la parte de la instalación: es importante saber que no es necesario tener Go instalado en su entorno para dar los primeros pasos - es posible simplemente "jugar" y dar los primeros pasos con el lenguaje haciendo un Hello World! de dos maneras diferentes y aprender más sobre la sintaxis del lenguaje. Son ellos: [un recorrido por Go](https://go-tour-br.appspot.com y también [Playground Go] (https://play.golang.org).

La instalación de Go es tan simple como la facilidad de aprendizaje del idioma y es posible hacerlo en Linux OS, MacOS y Windows.

La versión estable utilizada para la instalación y redacción de este artículo es la Go1.14.4, es posible en el momento en que esté leyendo este artículo que la versión esté más actualizada, se aconseja verlo en el sitio oficial del lenguaje en la parte de descargas https://golang.org/dl/

Linux

Para hacer la instalación se necesita hacer la descarga del binario de Go, para esto se pueden usar los comandos curl o wget

/code
curl -O https://storage.googleapis.com/golang/go1.14.4.linux-amd64.tar.gz
/code 

Comprueba el .tar usando sha256sum

/code
sha256sum go1.14.4.linux-amd64.tar.gz
/code 

Usando el siguiente comando, extraer dentro de la /usr/local para instalar la distribución Go

/code
$ sudo tar -C /usr/local -xzf go1.14.4.linux-amd64.tar.gz
/code 

Necesitas exportar el archivo "go and bin", abra ~/.profile en un editor

/code
$ sudo vim ~/.profile
/code

Pegar o escribir estas dos líneas al final del archivo

/code
export PATH=$PATH:/usr/local/go/bin
/code 

Guarda el archivo y recárgalo con el siguiente comando

/code
source ~/.profile
/code

Para probar la instalación, simplemente ejecute el comando

/code
$ go version
/code

macOS

Descargue la versión estable y reciente del paquete binario Go para MacOS. Al igual que con Linux, use el comando curl

/code
curl -o golang.pkg https://dl.google.com/go/go1.14.4.darwin-amd64.pkg
/code

Para instalarlo, sólo tiene que hacer doble clic en el archivo descargado para iniciar el asistente de instalación o utilizar la siguiente línea de comandos

/code
sudo open golang.pkg
/code

Al instalar el paquete, ya debería crear y poner el /usr/local/go/bin en su variable de entorno PATH. Puede que sólo sea necesario reiniciar las sesiones de terminal abiertas para que el cambio surta efecto. En caso contrario, es necesario seguir pasos similares a los dados anteriormente en la sesión de instalación de LinuxAbrir el archivo ~/.profile en un editor

/code
$ vi ~/.profile
/code

Pegue o escriba estas líneas en el archivo

/code
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
/code 

GOROOT es la ubicación donde se instala el paquete Go en su sistemaAl final, la exportación PATH establece la variable para acceder a todo el sistema binario.Para probar la instalación, simplemente ejecute el siguiente comando

/code
$ go version
/code

Windows

Para usuarios de Windows, se dan dos opciones de instalación (además de la instalación a partir de la fuente): un archivo zip que requiere que definas algunas variables de ambiente y un instalador MSI que configure tu instalación automáticamente.

Para el archivo .zip, descargue el archivo en https://golang.org/dl/, luego extraiga el contenido al directorio de su elección (la sugerencia dada por la documentación es c:\Go)

Recuerda que necesitas añadir el subdirectorio bin de tu raíz Go (por ejemplo. c:\Go\bin) a tu variable de entorno PATH.

Ahora usando el archivo MSI, ábralo y siga las instrucciones para instalar las herramientas. Por defecto, el instalador pone la distribución Go en c:\N-Ve.

A diferencia de la instalación mediante el uso del archivo zip, el instalador debe poner el directorio c:\Go\bin en su variable de entorno PATH. Puede que sólo sea necesario reiniciar cualquier símbolo de comando abierto para que el cambio surta efecto.

GVM

Otra alternativa para instalar y administrar las versiones de Go es [gvm] (https://github.com/moovweb/gvm) Simplemente ejecute el siguiente comando para instalar el gvm-installerbash <<(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Luego instale la versión deseada de Go, usando

/code
gvm install go1.14
gvm use go1.14
/code

Vale la pena saber que algunas versiones de Go tienen algunas configuraciones ligeramente diferentes, por ejemplo, las versiones más antiguas utilizan GOPATH para establecer el directorio de trabajo. A partir de go1.11, esto ya no es tan común y, para go1.14, ya se considera obsoleto.

Hello World!

Probando la instalación

Vayamos a la tradicional Hello World. Con el lenguaje Go, lo que se ha transcrito aquí proviene en su mayoría de la documentación del propio lenguaje.

Crea un directorio aprendendo_go y crea un archivo llamado hello.go dentro de él. En el archivo, escribe estas líneas de código y guárdalo

/code
package main
importar "fmt"
func main() {fmt.Printf("hello world\n")
}
/code

Entonces constrúyelo ejecutando el siguiente comando en una terminal dentro del directorio aprendendo_go

/code
$ go build hello.go
/code

El comando anterior creará un ejecutable llamado hola en el directorio aprendendo_go junto a su código fuente. Ejecútelo ejecutando el siguiente comando para ver el saludo:

$ ./hello
hello world

Cabe mencionar que ya existen varios plugins (algunos de ellos mantenidos por la propia comunidad de Go) de editores y EID para hacer más productivo el desarrollo. Aquí está el enlace de algunos de ellos:

Este fue el primer post sobre Go, que será parte de una secuencia de posts que Andreia Camila da Silva y yo haremos dando una introducción sobre el lenguaje.Los entornos MacOS y Windows no han sido probados previamente. Si hay alguna inconsistencia, pueden contactar a los autores para hacer ajustes o incluso para intercambiar conocimientos. Siempre son bienvenidos.

Referencias y enlaces útiles

Sitio web de idiomas https://golang.org

Aplicaciones desarrolladas en Go https://awesome-go.com

Introducción práctica a Go usando programas de ejemplo anotados https://gobyexample.com

Russ Cox se unió al equipo e hizo grandes contribuciones, su blog es muy rico en contenido https://research.swtch.com

Aprende a ir desde cero https://www.youtube.com/watch?v=_MkQLDMak-4

Golang en 20 minutos por Wesley WilliansThe Go Programming Language por Alan A. A. Donovan y Brian W. Kernighan

https://www.linode.com/docs/development/go/install-go-on-ubuntu

https://tecadmin.net/install-go-on-macos

https://sourabhbajaj.com/mac-setup/Go/README.html

¡Gracias por leer!