¡Go en Español!
Puedes ver el documento original aquí
- El lenguaje de programación Go
- Instalando Go
- Aprendiendo Go
- Referencias
- Artículos
- Charlas
- Documentación internacional
El lenguaje de programación Go
El lenguaje de programación Go es un proyecto de código abierto para hacer programadores más productivos.
Go es expresivo, conciso, limpio y eficiente. Sus mecanismos de concurrencia facilitan la escritura de programas consiguiendo lo mejor de máquinas multinúcleo y de la red, mientras su novel sistema de tipos permite la construcción de programas flexibles y modulares. Go compila rápidamente a código máquina aún con la comodidad de la recolección de basura y el poder de reflexión en tiempo de ejecución. Es un lenguaje tipado estáticamente, compilado y por lo tanto rápido, que se siente como un lenguaje interpretado y tipado dinámicamente.
Instalando Go
[Primeros pasos][instalar]
Instrucciones para descargar e instalar los compiladores, herramientas y bibliotecas de Go.
Aprendiendo Go
[Un paseo por Go][paseo]
Una introducción interactiva a Go en tres secciones. La primer sección cubre la sintaxis básica y las estructuras de datos; la segunda habla sobre los métodos e interfaces; y la tercera introduce las primitivas de concurrencia de Go. Cada sección concluye con unos cuantos ejercicios con los que puedes practicar lo que has aprendido. Puedes tomar el [paseo en línea][paseo] o [instalarlo localmente][paseolocal].
[Cómo escribir código Go][comoescribirgo]
Disponible también como video, este documento explica cómo utilizar la [orden go][ordengo] para descargar, construir e instalar paquetes, comandos y correr pruebas.
[Go eficiente][eficiente]
Un documento que da consejos para escribir claro e idiomático código Go. Todo nuevo programador de Go lo tiene que leer. Este complementa el paseo y la especificación del lenguaje, mismos que deberías leer primero.
[Preguntas frecuentes (PF)][pf]
Respuestas a preguntas comunes sobre Go.
El wiki de Go
Un wiki mantenido por la comunidad de Go.
Más
Ve la página Aprendiendo en el Wiki para más recursos sobre el aprendizaje de Go.
Referencias
Documentación de paquetes
La documentación de la biblioteca estándar de Go.
Documentación de cmd
La documentación para las herramientas de Go.
Especificación del lenguaje
La especificación oficial del lenguaje Go.
El modelo de memoria Go
Un documento que especifica las condiciones bajo las cuales se puede garantizar que en la lectura de una variable en una rutinago se observan los valores producidos al escribir a la misma variable en una diferente rutinago.
Historia de liberación
Un resumen de los cambios entre liberaciones de Go.
Artículos
El blog de Go
El blog oficial del proyecto Go, presenta noticias y reflexivos artículos escritos por el equipo e invitados de Go.
PaseosXcódigo
Visitas guiadas a programas Go.
- Funciones de primera clase en Go
- Generando texto arbitrario: un algoritmo de la cadena de Markov
- Compartiendo memoria mediante comunicación
- Escribiendo aplicaciones Web - construyendo una sencilla aplicación web.
Lenguaje
- JSON-RPC: un relato de interfaces
- Sintaxis de las declaraciones Go
- Defer, Panic y Recover
- Patrones de concurrencia Go: Cronometrando, continuando
- Sectores Go: uso y funcionamiento interno
- Un decodificador GIF: un ejercicio en interfaces Go
- Manejo de errores y Go
- Organizando código Go
Paquetes
- JSON y Go - usando el paquete json.
- Montones de datos - diseño y uso del paquete gob.
- Las leyes de reflexión - fundamentos del paquete reflect.
- El paquete image de Go - fundamentos del paquete image.
- El paquete image/draw de Go - fundamentos del paquete image/draw.
Herramientas
- Sobre la orden Go - por qué la escribimos, qué es, qué no es y cómo utilizarla.
- ¿C? ¿Go? ¡Cgo! - enlazando contra código C con cgo.
- Depurando código Go con GDB
- Godoc: documentando código Go - escribiendo buena documentación para godoc.
- Perfilando programas Go
- Detector de pugna de datos - un manual para el detector de pugna de datos.
- Introduciendo el detector de pugnas de Go - una introducción al detector de pugnas.
- Una guía rápida para el ensamblador de Go - una introducción al ensamblador usado por Go.
Más
Ve la página de Artículos en el Wiki para más artículos sobre Go.
Charlas
Un video sobre una visita a Go
Tres cosas que hacen que Go sea rápido, divertido y productivo: interfaces, reflexión y concurrencia. Construye un diminuto rastreador web para demostrarlo.
Código que crece con gracia
Uno de los objetivos clave del diseño de Go es la adaptabilidad del código; debe ser fácil tomar un sencillo diseño y construirlo en una manera limpia y natural. En esta charla Andrew Gerrand describe un servidor con una sencilla "ruleta de charlas" que empareja conexiones TCP entrantes y, entonces, usa los mecanismos concurrentes, las interfaces y la biblioteca estándar de Go para extenderlo con una interfaz web y otras características. Si bien, la función del programa cambia drásticamente, la flexibilidad de Go preserva el diseño original cuando crece.
Patrones de concurrencia Go
Concurrencia es la clave para diseñar servicios de red de alto rendimiento. Las primitivas de concurrencia en Go (rutinasgo y canales) proporcionan un medio sencillo y eficiente para expresar la ejecución concurrente. En esta charla vemos cómo se pueden solucionar elegantemente los delicados problemas de concurrencia con sencillo código Go.
Patrones avanzados de concurrencia Go
Esta conferencia amplía la charla sobre los Patrones de concurrencia Go profundizando en las primitivas de concurrencia Go.
Más
Ve el sitio de charlas Go y la página del wiki para más charlas sobre Go.
Documentación internacional
Ve la página Internacional en el Wiki para documentación en otros idiomas.
En su mayor parte este libro se reproduce a partir del trabajo creado y compartido por Google traducido al Español y se usa de acuerdo a los términos descritos en la Licencia Creative Commons 3.0 Attribution, el código se libera bajo una licencia estilo BSD.