Introducción a la programación Go

Go (también conocido como Golang) es un lenguaje de programación procedimental y de tipo estático que tiene una sintaxis similar al lenguaje C. Proporciona una rica biblioteca estándar, recolección de elementos no utilizados y capacidad de escritura dinámica. 
Este lenguaje también tiene mapas de valores clave, funciones de arrays de longitud que son tipos integrados de nivel avanzado. Go es el lenguaje de programación escalable, de mayor rendimiento y más potente para crear aplicaciones web, API web, microservicios y otros servicios distribuidos. Es uno de los lenguajes de programación mejor pagados y de más rápido crecimiento en Estados Unidos.
Evolución de Golang:
El Golang fue diseñado por Robert Griesemer, Rob Pike y Ken Thompsonen 2007 en Google. Fue lanzado en noviembre de 2009 como un lenguaje de programación de código abierto. El objetivo principal del diseño de Golang fue resolver los problemas de otros idiomas manteniendo sus funciones útiles. En marzo de 2012, se lanzó su versión 1.0 . La última versión es 1.11.1 , que se lanzó en 2018.
¿Por qué Golang? 
El objetivo principal del diseño de Golang fue eliminar los problemas de los idiomas existentes. Entonces comenzamos con los problemas que enfrentamos con los lenguajes Python, Java, C/C++: 
 

  • Python: «Fácil de usar, pero lento» : Python es fácil pero lento, ya que es un lenguaje interpretado que hace que el código sea lento.
  • Java – “Sistema de tipo complejo” : Java tiene un sistema de tipo complejo debido a sus características adicionales que lo hacen más complejo y lento.
  • C/C++: «Sistema de tipo complejo y tiempo de compilación lento» : C/C++ se diseñó cuando la computadora no tiene tanto espacio, por lo que el desarrollador decidió optimizar el compilador utilizando la cantidad mínima de espacio, lo que resulta en un compilador lento. tiempo.
  • Además, todos estos lenguajes se diseñaron cuando las aplicaciones de subprocesos múltiples eran raras, por lo que no eran muy efectivas para aplicaciones paralelas, concurrentes y altamente escalables.

Características de Golang:
 

  • Lenguaje fuerte y de tipo estático: Go es fuerte y también lenguaje de tipo estático. Fuerte significa que una vez que creó alguna variable usando algún tipo de datos, entonces para toda la aplicación seguirá siendo el tipo. Estáticamente significa que todas las variables tienen que definirse en tiempo de compilación.
  • Excelente comunidad: Golang tiene una excelente comunidad para el seguimiento y la solución de problemas.
  • Compilaciones rápidas: Golang incluirá solo los paquetes que se importarán directamente en el código.
  • Recolección de basura: la recolección automática de basura de Go es muy rápida.
  • Concurrencia integrada: Go tiene la característica integrada de concurrencia. Con las rutinas y los canales de Go, puede manejar la concurrencia de manera muy fácil y efectiva.

Comenzando con la programación de Golang

Programación en Golang: dado que Golang es muy similar sintácticamente a otros lenguajes ampliamente utilizados, es más fácil codificar y aprender en Golang. Los programas se pueden escribir en Golang en cualquiera de los editores de texto ampliamente utilizados como Notepad++ , gedit , etc. o en cualquiera de los editores de texto. Después de escribir el programa, guarde el archivo con la extensión .go o .GO
Hay varios IDE en línea como The Go Playground, repl.itetc. que se puede utilizar para ejecutar programas Go sin instalarlo. Para instalar Go en PC o portátiles, necesitamos dos editores de texto de software que le brinden una plataforma donde escriba su código fuente y compilador. Los editores de texto pueden ser OS Edit Command, Brief, vm o vi, notepad, notepad++, etc. 
Ejemplo: Un programa simple para imprimir ¡Hola Geeks! .
 

Java

package main 
  
import "fmt"
 
func main() {
 
     // prints Hello, Geeks!
     fmt.Println("Hello, Geeks!")
}

Producción: 
 

Hello, Geeks!

Explicación de la sintaxis del programa Go: 
 

  • Línea 1: Contiene el paquete principal del programa, que tiene el contenido general del programa. Es el punto inicial para ejecutar el programa, por lo que es obligatorio escribir.
  • Línea 2: contiene import «fmt» , es un comando de preprocesador que le dice al compilador que incluya los archivos que se encuentran en el paquete.
  • Línea 3: función principal , es inicio de ejecución del programa.
  • Línea 4: fmt.Println() es una función de biblioteca estándar para imprimir algo como una salida en la pantalla. En esto, el paquete fmt ha transmitido el método Println que se usa para mostrar la salida.
  • Comentario: los comentarios se usan para explicar el código y se usan de manera similar a Java , C o C++ . Los compiladores ignoran las entradas de comentarios y no las ejecutan. Los comentarios pueden ser de una sola línea o de varias líneas. 
    1. Comentario de una sola línea:
      Sintaxis:
       
// single line comment 
  1. Comentario multilínea: 
    Sintaxis:
     
/* multiline comment */

ventajas
 

  1. Rápido: Go no tiene una máquina virtual, puede compilar directamente en el código de la máquina. Excluir el ensamblaje intermedio de Go lo hace realmente rápido.
  2. Fácil de aprender: hay un ligero cambio en la sintaxis, ya que se ve casi similar a otros lenguajes de programación.
  3. Concurrencia: Permite la ejecución simultánea y efectiva de múltiples procesos.
  4. Código abierto: es gratuito y de código abierto y la comunidad siempre está ahí para ayudarlo.
  5. Recolección de basura: Es una característica clave de go. Go sobresale al brindar mucho control sobre la asignación de memoria y ha reducido drásticamente la latencia en las versiones más recientes del recolector de elementos no utilizados.
  6. Herramienta de prueba integrada: Golang tiene una herramienta de prueba integrada que lo hace más rico y fácil de depurar.

Desventajas: 
 

  • No tiene soporte para genéricos, incluso si hay muchas discusiones al respecto.
  • Los paquetes distribuidos con este lenguaje de programación son bastante útiles, pero Go no está tan orientado a objetos en el sentido convencional.
  • Hay una ausencia de algunas bibliotecas, especialmente un kit de herramientas de interfaz de usuario.

Publicación traducida automáticamente

Artículo escrito por Afzal_Rizvi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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