01. Go to go: iniciando Go for the lulz

Publicado por

¡Buenas, chavos! comenzamos con el primero de los capítulos sobre programación en Go que traemos  para ustedes en codingornot. Soy Uriel y yo los acompañaré por este viaje a través de uno de los lenguajes de programación más jóvenes y potentes que hay en la actualidad… Sin más que agregar ¡COMENZAMOS!

¿Qué es Go?

Go es un lenguaje de programación compilado, de tipado estático (las variables se declaran con un tipo desde el principio), concurrente (se pueden realizar múltiples cálculos simultáneos) e imperativo (los estados del programa cambian en base a sentencias). La página oficial del proyecto puede expandir la definición de Go (a veces referido como Golang), pero para propósitos de los capítulos, la definición dada aquí basta.

El lenguaje fue desarrollado por empleados de Google entre 2007 y 2009 por Robert Griesemer, Rob Pike y Ken Thompson, quienes originalmente lo pensaron como un lenguaje para programación de sistemas. En 2009 fue lanzado al público bajo una licencia de código abierto; desde entonces se ha continuado con el lanzamiento de nuevas versiones pero ahora añadiendo las contribuciones de muchos colaboradores de la comunidad Open Source.

¿Por qué debería de aprender Go?

Muchas son las características que hace a Go un lenguaje de programación poderoso con un horizonte de posibilidades casi infinito:

1 – Pocas palabras reservadas que facilitan el aprendizaje.
2 – Incorpora su propio recolector de basura.
3 – Sintaxis minimalista y simple. Con Go, menos es más.
4 – Fácil implementación de concurrencia vía Gorutinas.
5 – Estructurado principalmente en funciones.
6 – Sintaxis similar a C y C++.
7 – Strings y Maps incorporados al lenguaje.
8 – Rápido de compilar.

Esas, junto con muchas otras más razones, son las que hace a Go uno de los lenguajes de programación más potentes y fáciles de aprender en la actualidad. Tal vez uno de los pocos puntos malos de Go es su lista de paquetes nativos no tan extensa como otros lenguajes; pero no por eso es una lista de paquetes pobre, cuenta con muchos paquetes para casi cualquier necesidad.

Aspectos previos a comenzar

Hay que tener en cuenta algunos aspectos que han sido descartados de Go (cada uno descartado por alguna razón en específico) antes de comenzar:

1 – Herencia.
2 – Sobrecarga.
3 – Dependencias circulares entre paquetes.
4 – Aritmética de apuntadores.
5 – Aserciones.

Recordemos, los aspectos anteriores NO están presentes en Go.

La extensión de los archivos de código fuente es “.go”, de aquí en delante cuando se haga algún ejemplo se agregará esa extensión bajo entendimiento que reconocen que es la extensión de Go.

Instalación

Si se mantienen firmes en su idea de aprender Go entonces comencemos con la instalación. El método de instalación varía dependiendo del sistema operativo en el que se trabaje, por tanto te pasar a la página oficial si surge alguna duda extra durante la instalación, ahí podrás encontrar información adicional que podría ser de utilidad.

Instalación en Unix, Linux, Mac OS X o FreeBSD:

1 – Descarga el archivo de instalación desde aquí
2 – Extraer el archivo en /usr/local/
3 – Agregar /usr/local/go/bin a las variables de entorno PATH:

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

Instalación en Windows:

Basta con ejecutar el archivo .msi que puedes descargar aquí, y seguir las instrucciones. Por defecto se instala en c:\Go. El instalador automáticamente debería de agregar c:\Go\bin en las variables de entorno PATH. Si se tiene abierta alguna ventana de símbolos de sistema (command prompts) se recomienda cerrarla y abrirla de nuevo.

Verificar la instalación

Para constatar que efectivamente se ha descargado e instalado el compilador de Go en nuestro equipo, basta con escribir “go” (sin comillas) desde nuestra terminal y se desplegará una lista de posibles comandos admitidos.

terminal-go
Ejemplo de terminal

Para Windows el método de verificación es compilar nuestro primer código fuente para constatar que realmente tenemos Go instalado. En los demás sistemas operativos también se recomienda realizar este procedimiento para aprender a compilar un archivo “.go” desde Terminal:

1 – Crearemos una carpeta en alguna ruta de nuestro equipo, puede tener cualquier nombre.
2 – Abriremos nuestro editor de texto plano e ingresaremos las siguientes líneas de código en un archivo en blanco:

package main
import "fmt"

func main(){
  fmt.Println("¡Has instalado Go correctamente!")
}

3 – Guardaremos el archivo como “prueba1.go”. El nombre no importa mucho, lo importante es que su extensión sea “.go”.
4 – Desde símbolos de sistema (o terminal) nos moveremos por los directorios de nuestra unidad hasta estar en la misma carpeta en la que guardamos nuestro archivo “prueba1.go”.
5 – Una vez estando en la misma carpeta que nuestro archivo escribiremos el siguiente comando:

go run prueba1.go

Nota: El comando “run” compila y ejecuta el codigo fuente pero no genera un archivo ejecutable. El comando “build” es el que se encarga de generar ejecutables.
6 – Deberíamos de poder leer en terminal “Hello, World!”.

¡Felicidades! Has creado tu primer programa en Go. Si no aparece el mensaje y en su lugar se muestra algún mensaje de error, verifica que hayas escrito correctamente el código fuente, o en su defecto que hayas instalado correctamente Go.

Finalizando…

Esto es todo por ahora, en los siguientes capítulos comenzaremos a revisar la estructura del lenguaje para comenzar a escribir nuestros primeros programas de uso general.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *