Accede a todo EDteam con un único pago¡Sube a premium!

¿Que es Go (Golang)?

GO en un lenguaje de programación de código abierto y fácil de aprender, con una sintaxis concisa, limpia y eficiente. Además es el lenguaje con mayor demanda laboral para el 2020 según una encuesta de Hired. ¿Por qué Go es tan demandado? ¿Por qué deberías aprenderlo y que lo hace tan especial frente a otros lenguajes? En este artículo te lo contamos.

Diseño web
8 minutos
Hace 4 años
¿Que es Go (Golang)?

¿Qué pasaría si se juntara lo mejor de los lenguajes de programación C y Python? Eso es lo que pensaron tres programadores de Google, Robert Griesemer, Rob Pike y Ken Thompson al sentar las bases para crear en 2007 el lenguaje de programación Go.

¿Qué es Go?

Es un lenguaje de programación compilado que toma ideas de los lenguajes interpretados para tener una compilación más rápida. Por ejemplo, Go permite compilar cross-platform, si estás en Linux puede compilar para Windows u otro sistema operativo, sin necesidad de irte a esa máquina específica para compilar ahí.

El compilado es veloz y puedes probar rápido el código con la flexibilidad que te da un lenguaje interpretado, es decir solo escribes y ejecutas.

Además, Go es de tipado estático, pero tiene partes del tipado dinámico. Puedes declarar variables sin indicar el tipo de dato y el compilador va a interpretar qué tipo de dato es; pero posteriormente ya no te dejará cambiar el tipo de dato.

Go combina el poder de lenguajes de más alto nivel como C y otros como JavaScript y Python, con una sintaxis fácil de entender.

Y por último, es concurrente de forma nativa. ¿Qué quiere decir esto? Imagina que un Gopher (la mascota de Go) tiene que seguir una carretera hasta llegar a la meta.

En la computación normal, un proceso tiene que terminar para comenzar otro. Es decir, Gopher tendría que llegar a la meta para poder empezar otro ciclo y realizar hacer otro recorrido para llegar a la meta nuevamente, haciendo que los procesos entren en una cola. Pero la concurrencia en Go hace que se puedan crear threads (hilos) en un mismo procesador para ejecutar procesos paralelamente.

Es decir, habría varios Gophers en la carretera, donde cada uno iría completando una parte del recorrido. De esta manera se estaría ejecutando la tarea por pedazos, sin necesidad de haber terminado todo el proceso y sin ser precisamente simultáneo o en paralelo.

Sintaxis de Go

  • Este lenguaje cuenta con una sintaxis bastante sencilla. Ejemplo, cuando declaras una variable, la puedes declarar si es privada o pública tan solo con escribir la primera letra en mayúscula o minúscula según sea el caso.
  • Todos los archivos de Go llevan un "package main" que es para definir el paquete. Un beneficio de este lenguaje es que cuando es instalado viene con toda la paquetería y puede ser importada al proyecto; no necesitas hacer uso de la paquetería o librerías de terceros.
  • Go hace que puedas configurar al editor para importar un paquete automáticamente al momento de escribir la función, sin necesidad de ir a la línea 1, importar el paquete y escribir la función en la línea que lo necesites. Haciendo que trabajes más rápido.
  • No se necesita usar la palabra "var" para declarar, ni "string". Simplemente ":=" para indicar que es una variable y que la estás asignando directamente, el compilador detectará automáticamente que es un string.

Otras características de Go:

  • Es multiparadigma: Puedes realizar programación estructurada, programación orientada a objetos, programación funcional, entre otras.
  • Posee una guia de estilos bastante estructurada: Al estar bien definida, solo debes respetar el estilo sin necesidad de entrar en discusión de cómo escribir el código.
  • No tiene excepciones: Los creadores de Go sintieron que las excepciones tenían mal uso y se usaba de manera indiscriminada. Cuando sea necesario el programador podrá implementarlo a su manera pero directamente no están en el lenguaje.
  • No implementa la Programación Orientada a Objetos clásica (POO): Tiene la programación orientada a objetos pero con algunas variaciones, que podrás aprender en el curso de Go.
  • Es capaz de compilar para cualquier sistema operativo: Es decir, puedes crear un ejecutable en código máquina para cualquier sistema operativo. En cuanto al mundo web o Cloud Computing, puedes dejar el ejecutable en una carpeta del sistema y listo, no necesitas crear todo un entorno para que funcione.

💼 ¿Hay trabajo como desarrollador en Go?

¡Claro que sí! Muchas empresas famosas lo usan, como Google, Twitch, Paypal, Netflix, Slack, Uber, Pinterest y muchas otras.

Puedes trabajar con Go en áreas como Cloud y Networking, creando servicios y microservicios; también creando Scripts para el Sistema, que son programas que corren en línea de comando; automatizaciones para Devops; y en Web puedes trabajar con Go para realizar backend, es decir, crear la API, servirla y que frontend la consuma o puedes realizar un desarrollo mucho más completo, ya que GO incluye su propio servidor HTTP y permite crear templates para las vistas.

Este lenguaje aunque está en crecimiento, es en la actualidad el más demandado de la industria de la programación, por lo que tendrás una gran cantidad de empleos disponibles.

En Estados Unidos un programador de Go gana en promedio unos 135.000$ dólares al año, lo más novatos ganan 78.000$ y los más experimentados 170.000$. Es un lenguaje que, además de demandado, es bien pagado.

Salio promedio de un programador en Go

Go es el lenguaje de programación con mayor demanda laboral para el 2020 según la encuesta de Hired.

Si estás interesado en seguir aprendiendo de este lenguaje, acabamos de sacar el curso de Go desde cero en la edición 2020, donde adquirirás los conocimientos básicos para comenzar a programar en este lenguaje.

Y tú, ¿ya sabes programar con Go? ¿Cómo fue tu experiencia? ¡Háznoslo saber en los comentarios! 😊

Gracias por leer y ¡hasta la próxima! 💪

¿Quieres aprende aún más de Go? Hemos preparado un video en nuestro canal de YouTube

Míralo aquí 📺 ¿Qué es GO?

Descarga los recursos del artículo

los slides del video 📥

Descargar gratis
Descarga los recursos

Comentarios de los usuarios

Pregunta a ChatEDT