Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

¿Qué es Google Go? Introducción

Daniel Ortego Delgado
  • Escrito por Daniel Ortego Delgado el 06 de Diciembre de 2016
  • 1 min de lectura | Programación
¿Qué es Google Go? Introducción

Go, también llamado golang en ocasiones, es un lenguaje de programación open source creado por los ingenieros de Google Robert Griesemer, Rob Pike, and Ken Thompson. Nacido en 2007 , su primera versión no vería la luz hasta el año 2009. Se trata de un lenguaje de programación concurrente, compilado, inspirado en la sintaxis de Algol y C y con tipado estático. Este lenguaje se puede desarrollar en Linux, OS X, Windows, varias versiones de BSD y Unix, y desde 2015 también en algunos dispositivos móviles, incluidos smartphones.

Los ingenieros de Google crearon Go con el objetivo de diseñar un nuevo lenguaje de programación que resolviera los problemas comunes de otros lenguajes, manteniendo sus características que consideraban positivas. Algunas de estas características eran:

  • Ser de tipo estático, escalable a sistemas grandes (como Java y C ++). Por esta razón resulta más fácil de aprender para los desarrolladores que ya trabajaban con estas herramientas.
  • Ser productivo y legible, sin demasiadas palabras clave.
  • No se requieren herramientas, pero sí un buen soporte.
  • Soporte de redes y multiprocesamiento.
  • Go tiene muchas de las características y facilidad de lenguajes dinámicos como Python
  • Aun siendo un lenguaje diseñado para la programación de sistemas, provee de un recolector de basura, reflexión y otras capacidades de alto nivel que lo convierten en un lenguaje muy potente.

La principal diferencia entre Go y C++, Java o C# es que estos son más pesados y voluminosos . El lenguaje de Google presume de sencillez, su sintaxis es clara y concisa. Mientras que C es desgraciadamente famoso por la complejidad de la sintaxis de sus declaraciones, Go utiliza inferencia implícita de tipos pudiéndose de esta manera evitar la declaración explícita de variables. La declaración de variables es simple y conveniente, y difiere de la de C. Mientras en C una declaración se haría así: int* i, j; , en Go la declaración se hace de la siguiente forma: var i, j *int . Así se consigue declarar tanto la variable i como la j como punteros, mientras que en el ejemplo en C, solo la i sería puntero.


Herramientas de Go

  • Go build , que genera los binarios de Go usando sólo la información en los propios archivos de origen.

  • Go test , para unidades de testeo y microbenchmarks.

  • Go fmt , para el formato de código.

  • Go get , para recuperar e instalar paquetes remotos.

  • Go vet , un analizador estático que busca posibles errores en el código.

  • Go run , un atajo para la construcción y ejecución de código.

  • Godoc , para mostrar la documentación o servirla a través de HTTP.

  • Gorename , para cambiar el nombre de variables, funciones, etc. de forma segura.

  • Go generate , una forma estándar de invocar generadores de código.

Por último, dejaremos una lista de proyectos que utilizan o han utilizado Go:

  • Docker , un conjunto de herramientas para desplegar contenedores Linux.

  • Juju , una herramienta de orquestación de servicios de Canonical, empaquetadores de Ubuntu Linux.

  • Dropbox migró algunos de sus componentes críticos de Python a Go.

  • Google , para muchos proyectos, incluyendo el servidor de descarga dl.google.com.

  • MercadoLibre , para varias API públicas.

  • MongoDB , herramientas para administrar instancias de MongoDB.

  • Netflix , para dos partes de su arquitectura de servidor.

  • SoundCloud .

  • Uber , para manejar grandes volúmenes de consultas basadas en geofence

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars