Iniciación – Como empezar con Go el nuevo lenguaje de Google
Este tutorial, por llamarlo de alguna manera, es una simple traducción de la web oficial del lenguaje Go de Google.
Así que iré transcribiendo y traduciendo para aquellos que se le atranque un poco este idioma.
El video es un poco largo, pero hablan de como se comporta el lenguaje y como funciona. A ver si en breve subo mis propias pruebas. Bueno os dejo con la traducción.
Introducción
Este documento es un tutorial introductorio a los conceptos básicos del lenguaje de programación Go, destinada a los programadores familiarizados con C o C++. No es una guía completa del lenguaje, de momento en el documento más cercano que hay es la especificación del lenguaje. Después de leer este tutorial, puede que desee mirar más información, que profundiza en cómo se utiliza este lenguaje. Además, ofrecemos las diapositivas de un curso de 3 días sobre Go y están disponibles: Día 1, Día 2, Día 3.
La presentación de este producto se hace a través de una serie de programas modestos para ilustrar las principales características del lenguaje. Todos los programas de trabajo (en el momento de la escritura), se comprueban en el repositorio en el directorio /doc/progs/
Fragmentos de programa se anotan con el número de línea en el archivo original, por limpieza, las líneas en blanco permanecerán en blanco.
¡Hola, mundo!
Vamos a empezar en la forma habitual:
05 package main
07 import fmt “fmt” // Package implementing formatted I/O.
09 func main() { 10 fmt.Printf(“Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n”) 11 }
Cada archivo de código fuente irá declarado, y se establecerá el package. También pueden importar otros paquetes para utilizar sus funciones. Esta importacion del paquete fmt se utiliza para acceder a nuestros viejos, y ahora nuevo amigo, fmt.Printf
Las funciones se introducen con la palabra clave func. La función main, el paquete main es donde el programa empieza a correr (después de la inicialización).
Las constantes de cadena puede contener caracteres Unicode, codificado en UTF-8. (De hecho, los archivos de código fuente de Go se definen para ser codificado en UTF-8.)
La utilización de comentarios es igual que en C++:
/* Ejemplo de comentario
para varias lineas */
// Ejemplo de comentario para una sola linea.
Más adelante hablaremos más largo y tendido acerca de la impresión.
Semicolons Punto y coma
Ha podido notar que nuestro programa no tiene ningún punto y coma. En el código de Go, el único lugar donde normalmente se verá un punto y coma, aparecerá separando las cláusulas de for
bucles y cosas por el estilo, por tanto, no son necesarias después de cada declaración.
De hecho, lo que pasa es que el lenguaje formal usa punto y coma, tanto como en C o Java, pero se insertan automáticamente al final de cada línea que se parezca al final de una instrucción. No es necesario que la escriba usted mismo.
Para obtener detalles sobre cómo se hace esto, se puede ver la especificación del lenguaje, pero en la práctica todo lo que necesita saber es que nunca necesita poner un punto y coma al final de la línea. Puede colocarlos si desea escribir varias instrucciones por línea. Como ayuda adicional,también puede dejar de lado un punto y coma inmediatamente antes de una llave de cierre.
Este enfoque tiene un fin para la limpieza de un futuro, punto y coma, de código libre. La única sorpresa es que es importante poner la llave de apertura de una construcción como la declaración de un if
en la misma línea que el if
si no, hay situaciones que no pueden compilar o puede dar un resultado equivocado. Así se fuerza hasta cierto punto el estilo del lenguaje.
Compilar
Go es un lenguaje compilado. Por el momento hay dos compiladores. Gccgo
es un compilador de Go que utiliza la parte de atrás del CCG. Hay también un conjunto de compiladores con diferentes (y extraños) nombres para cada arquitectura: 6g
para la de 64-bit x86, 8g
de 32-bit x86, y más. Estos compiladores se ejecutan mucho más rápido, pero generan un rendimiento menos eficiente que el código gccgo
. En el momento de este escrito (finales de 2009), también tienen un plazo de tiempo más robusto de sistema, aunque gccgo
está alcanzandolo.
He aquí cómo compilar y ejecutar nuestro programa. Con 6g
por ejemplo,
$ 6g helloworld.go # compile; object goes into helloworld.6
$ 6l helloworld.6 # link; output goes into 6.out
$ 6.out
Hello, world; or Καλημέρα κόσμε; or こんにちは 世界
$
Con gccgo
se ve un poco más tradicional:
$ gccgo helloworld.go
$ a.out
Hello, world; or Καλημέρα κόσμε; or こんにちは 世界
$
Hasta ahí la traducción por el momento de Go, poco a poco iré traduciendo más que tengo los ojos como chupes!
Venga un saludo y espero que los ayude a los que empiecen con este lenguaje, yo tendré que ir probandolo a ver que tal.
troducción
This document is a tutorial introduction to the basics of the Go programming language, intended for programmers familiar with C or C++. Este documento es un tutorial introductorio a los conceptos básicos del lenguaje de programación Go, destinada a los programadores familiarizados con C o C + +. It is not a comprehensive guide to the language; at the moment the document closest to that is the language specification . After you’ve read this tutorial, you might want to look at Effective Go , which digs deeper into how the language is used. Also, slides from a 3-day course about Go are available: Day 1 , Day 2 , Day 3 . No es una guía completa de la lengua, en el momento en el documento más cercano a que es la especificación del lenguaje. Después de leer este tutorial, puede que desee mirar Ir eficaz, que profundiza en cómo se utiliza la lengua. Además, las diapositivas de un curso de 3 días sobre Go están disponibles: Día 1, Día 2, Día 3.
The presentation here proceeds through a series of modest programs to illustrate key features of the language. La presentación de este producto a través de una serie de programas modestos para ilustrar las principales características de la lengua. All the programs work (at time of writing) and are checked into the repository in the directory /doc/progs/
. Todos los programas de trabajo (en el momento de la escritura) y se comprueban en el repositorio en el directorio /doc/progs/
Program snippets are annotated with the line number in the original file; for cleanliness, blank lines remain blank. Fragmentos de programa se anotan con el número de línea en el archivo original, por la limpieza, las líneas en blanco permanecerá en blanco.