¿Qué es Go o Golang?

Go es un lenguaje de programación de alto nivel, compilado y multiplataforma, creado por tres programadores de Google, Robert Griesemer, Rob Pike y Ken Thompson con la idea de que sea un lenguaje de programación optimizado y más sencillo. 

Un proyecto modesto se convirtió en un ambicioso propósito cuyo desarrollo fue impulsado por Google, que dispuso todos los recursos necesarios para el desarrollo. 

La primera versión de Go se publicó en 2012, desde ese momento su crecimiento en la comunidad no para de aumentar. 

La sintaxis de Go tiene mucha semejanza a la del lenguaje C, el propósito de este lenguaje de programación es que sea, tan rápido como C y tan sencillo de leer y escribir como Python. Golang o Go es un lenguaje  compilado y esto hace que sea más efectiva. El lenguaje también cuenta con un recolector de basura automático o nativa (Garbage Collector o GC), que aporta a gestionar con eficiencia el manejo de memoria.

¿Por qué Go?

  • Velocidad similar a C pero con una sintaxis amigable como Python.
  • Facilita el uso de buenas prácticas en el código.
  • Mantiene su rendimiento con grandes volúmenes de información.
  • Su curva de aprendizaje es suave en comparación con Java o C.
  • Es un lenguaje multiparadigma.
  • Ahorras tiempo al codear. Por ejemplo, para crear ciclos solo existe la función for.
  • Para manejar niveles de accesos de funciones es tan sencillo como colocar la primera letra en mayúscula o minúscula.

Concurrencia

Una de las principales funciones de Golang es que maneja las múltiples tareas de forma concurrente, es decir, que el procesador divide el trabajo en múltiples hilos y a cada uno le dedica un tiempo en milisegundos acelerando el tiempo de ejecución en cada tarea sin necesidad de realizar configuraciones adicionales ya que Golang lo traen en sus librerías preinstaladas.

La manera como Golang trabaja esto es a través de Goroutines y Canales. Puedes tener múltiples Goroutines por canal y transportar el Goroutine de un canal a otro. Un excelente uso de Goroutines es al momento de trabajar transferencia de datos en tiempo real desde un cliente a otro, como por ejemplo un chat o un sistema de ubicación en tiempo real.

¿Para qué se usa Go?

Go es un lenguaje que es más utilizado en el desarrollo web backend, por manejar tareas pesas y aplicar la concurrencia. Go se utiliza el los siguientes campos. 

  • Desarrollo web (en lado del servidor)
  • Desarrollo de aplicaciones empresariales multiplataforma 
  • Desarrollo de servicios y microservicios 
  • Desarrollo de Scripts para el sistema 
  • Desarrollo de automatizaciones para Devops 
  • Desarrollar programas en la red

Ejemplo de Go

package main import "fmt" func main() { fmt.Println("Hola Mundo") }
Lenguaje del código: Go (go)