¿Por dónde comienzo con Go?

Si recuerda hace algunas semanas  estuve hablando un poco sobre Go, puede ver el vídeo aquí y le describiré algunas de las muchas características de Go.

Para comenzar recuerde lo que es Go: Go es un adorable pequeño lenguaje de programación diseñado por personas inteligentes en las que puede confiar y el cual es mejorado continuamente por una vasta y creciente comunidad fuente-abierta.


Go está destinado a ser simple, pero a veces las convenciones pueden se difíciles de entender. Quisiera mostrarle cómo comienzo mis proyectos Go.


Configurar su entorno 

El primer paso es, por supuesto, instalar Go. Puede usar la distribución binaria para su sistema operativo disponible en el sitio oficial. Si utiliza Homebrew en Mac,  brew install go trabaja bien. Cuando esté listo, esto debería funcionar:
$ go version

Una vez instalado, lo único que resta por hacer es configurar su GOPATH. Este es el directorio raíz que contendrá todo su código Go y artefactos construidos. Las herramientas Go crearán 3 subdirectorios en su GOPATH: bin, pkg y src. Algunas personas la configuran a algo como  $HOME/go, pero yo prefiero simplemente  $HOME. Asegúrese que sea exportado a su entorno. Si usa bash, algo como esto debería funcionar:



$ echo 'export GOPATH=$HOME' >> $HOME/.profile

$ source $HOME/.profile

$ go env | grep GOPATH

GOPATH="/Users/kenneth"

Si está usando Windows, no olvide agregar una variable de entorno GOPATH. Con eso hecho, estamos listos para crear nuestra primera aplicación Go.

En nuestra primera aplicación, creamos un archivo con extensión go en cualquier editor de texto.



$ touch demo.go

Toda aplicación en go es gobernada por un



package main 

Toda aplicación está hecha de paquetes y, usando una referencia Java, los programas usan a main como el paquete por omisión.



import (
"fmt"
)

Como lo mencioné al inicio del tutorial, Go tiene una biblioteca estándar bastante grande. Para acceder a esa funcionalidad, necesita importar los paquetes específicos que requiera.


Aquí, he importado uno: fmt. Si luce extraño, realmente no debería. En PHP y C usted usaría includes (o requires), en Python usaría imports y en Ruby usaría require.



func main() {

fmt.Println(“Hello  World”);

}

He llamado el método  fmt.Println, el cual invoca al paquete fmt que es la biblioteca para entrada y salida de datos.

Compilando el código 

A diferencia de PHP, Ruby, Python etc, Go es un lenguaje compilado. Entonces desde su directorio de proyecto, en mi caso
$ go run demo.go

go run, la única cosa que este comando hace es correr nuestro archivo, si queremos compilar nuestro demo.go debemos correr go build demo.go

¿Fácil, verdad?

En Conclusión

Hemos creado un “hola mundo” en pocos pasos y usando solo la bliblioteca estádar de Go. Nuestro código puede ser traído y desplegado en casi cualquier arquitectura de servidor. El binario resultante es autocontenido y rápido. Y, como más importante, el código es directo para leer y discutir. Puede fácilmente ser mantenido y extendido, según sea necesario. Creo que todas esas propiedades de Go son una función  estable y de filosófica devoción por la simplicidad.

Si desea obtener más información, consulte los siguientes textos:

Libros

Una selección de libros acerca de Go.

 

Tutoriales

 

Comentarios

Entradas más populares de este blog

Growth Hacking vs Publicidad Digital

4Geeks reúne a los principales actores financieros de Costa Rica

No es el mercado, es tu mentalidad