Go es un lenguaje moderno que desde hace un par de años ha crecido en popularidad, para algunos, es el C moderno. Una de las cosas en las que Go es bueno es en manejar concurrencia, un tema en el que han fallado varios de los lenguajes interpretados más utilizados ahora (PHP, Ruby, etc).
Go tiene una sintaxis bastante peculiar, es un lenguaje compilado y no es orientado a objetos, a diferencia de C, sí tiene un recolector de basura. Es un lenguaje mucho más eficiente que los interpretados, meramente porque es compilado, por otro lado existe un debate sobre si es o no más rápido que JAVA.
Hola mundo
Un Hola Mundo se ve de la siguiente manera en Go:
Por partes, primero, tenemos que declarar el paquete de nuestro script, el paquete de ejecución siempre es main
, es decir, a menos que estés creando una librería, así nombrarás el paquete de tu script. Después de eso, importamos una librería fmt
que eventualmente nos sirve para llamar a Println
que recibe una cadena e imprime eso. Fácil, ¿no?
De aquí podemos notar la similitud de Go con C, la función de ejecución también es main. Una de las diferencias que podrás notar, entre C y Go, es que, aparentemente, no hay puntos y coma, Go sí necesita los ;
pero el compilador puede agregarlos siguiendo una serie de reglas, de modo que tú no necesitas agregarlos.
Declaración de variables
Go es un lenguaje de tipado fuerte, esto significa 2 cosas:
- Tienes que declarar el tipo de la variable
- Una variable de cierto tipo, no puede contener ni cambiar para tener datos de otro tipo
El keyword o la palabra reservada para declarar variables es var
y la sintaxis va así:
var nombre_variable tipo_variable
En Go, también existe una sintaxis alternativa al keyword var
que nos permite evadir la declaración de tipo, esta sintaxis utiliza el operador :=
.
nombre := "Uriel"
La única condición que necesitas para utilizar el operador :=
es que, la variable que estás declarando o asignando no exista antes, si intentas utilizar :=
sobre una variable que ya está declarada, tendrás un error de compilación, además, tienes que asignarle un valor a la variable después de :=
así como, yo, estoy asignando el string "Uriel
, esto es para que Go pueda darle un tipo a la variable basados en el valor que le estás asignando, es decir, si Go ve que le estás asignando un string, hará la variable de tipo string.
Ahora, revisa el archivo hola_variables.go
para poder jugar y manipular la declaración de variables :)
Quiero más...
En un artículo estaría complicado hablar sobre muchas de las características de Go, en particular las interfaces me parecen geniales, hay hashes, hay arreglos, hay slices (una especia de tipo de arreglos de tamaño dinámico) y otras cosas muy cool, en el archivo selection_sort.go
una implementación del algoritmo de ordenación por selección en Go, para que puedas jugar y conocer más partes del lenguaje :)
¿Quién vota por curso?
Me gustaría mucho poder dar un curso de Go, ¿a quiénes les interesaría? Dejen su opinión en los comentarios :)