Apuntes de Golang (Programación desde Cero) en español
Aprender a programar en Golang te permite crear aplicaciones rápidas y eficientes, ideal para el desarrollo de aplicaciones de alta concurrencia y sistemas distribuidos. Además, Golang tiene una creciente demanda en la industria.
- Introducción a Golang
- Instalación de Golang
- Instalación de Golang en Linux
- Instalación de Golang (Windows)
- Instalación de Golang en macOS
- Editores de código para programar en Go
- Escribir un Hola Mundo en Go: Nuestro primer programa
- Tipos de datos en Go
- Tipos boleanos en Go (Booleans)
- Tipos numéricos en Go (Enteros y Flotantes)
- Cadenas de caracteres (Strings)
- Arreglos (Arrays)
- Verificar tipos
- Convertir entre tipos
- Variables
- Valor cero (Por defecto)
- Declaración corta de variables
- Scope
- Uso de punteros
- Valor vs Referencia (Copia vs Puntero)
- Constantes
- Uso de funciones
- Funciones que regresan múltiples valores
- Funciones Variádicas (Variadic Functions)
- Recursividad
- Funciones como argumentos
- Estructuras de Control
- La sentencia if
- Uso de la sentencia else
- Else if
- Operadores de comparación
- Operadores aritméticos
- Operadores lógicos en Go: Uso y aplicaciones
- La sentencia switch
- Uso del bucle for
- Aplazar funciones con Defer
- Arreglos (Arrays)
- Slices
- Eliminar elementos del slice
- Copiar elementos de un slice
- Mapas
- Eliminar un elemento de un mapa
- Estructuras
- Uso de estructuras
- Uso del constructor en estructuras
- Estructuras anidadas
- Comparación de estructuras
- Campos públicos y privados
- Uso de punteros en estructuras
- Métodos
- Interfaces
- Strings
- Runes
- Texto multilinea
- Concatenación de strings
- Conversión de otros tipos a strings
- Concatenación utilizando un buffer
- ASCII y UTF-8
- Bytes
- Trabajando con strings
- Busquedas dentro de strings
- Remover strings
- Manejo de errores
- El tipo error
- Formateo de errores
- Errores en funciones
- Información útil dentro de errores
- Panic
- Concurrencia
- Funciones y bloqueo
- Gorutinas
- Utilizando múltiples rutinas
- Golang vs NodeJS vs Java
- Channels (canales)
- Comunicación mediante canales
- Canales y buffers
- Iterar canal
- Canales como argumentos
- Uso de select para el manejo de múltiples canales
- Manejo de múltiples canales y timeouts
- Paquetes
- Uso de paquetes de terceros
- Manejo de paquetes de terceros
- Crear un paquete
- Formatear código en Go
- Convenciones de nomenclaturas
- Golint
- Godoc
- Pruebas, Introducción
- Pruebas, Tipos de pruebas
- Pruebas, El paquete testing
- Pruebas, Tablas de pruebas
- Pruebas, Benchmark de pruebas
- Pruebas, Cobertura del código
- Logs, Introducción
- Logs, Uso de archivos como logs
- Programas de la línea de comandos, Introducción
- Programas de la línea de comandos, Manejo de entradas y salidas.
- Programas de la línea de comandos, Captura de datos
- Programas de la línea de comandos, Envío de argumentos
- Programas de la línea de comandos, Uso de parámetros
- Programas de la línea de comandos, Subcomandos
- Programas de la línea de comandos, Estandar POSIX.
- Programas de la línea de comandos, Instalación de programas
- Servidores Web, Introducción
- Servidores Web, Curl
- Servidores Web, Funciones de control
- Servidores Web, Error 404
- Servidores Web, Uso de cabeceras
- Servidores Web, Content Type
- Servidores Web, Tipos de Peticiones
- Servidores Web, Manejo de datos mediante GET
- Servidores Web, Manejo de datos mediante POST
- Servidores Web, Manejo de datos de diferentes tipos
- Clientes HTTP, Peticiones mediante GET
- Clientes HTTP, Peticiones mediante POST
- Clientes HTTP, Uso del http.Client
- Clientes HTTP, Client Timeout
- JSON, Introducción
- JSON, Uso de JSON en Golang
- JSON, Data fields en estructuras de Golang
- JSON, Como decodificar
- JSON, Mapeo de estructuras
- JSON, Trabajando con streams
- Manejo de Archivos, Introducción
- Manejo de Archivos, Leer un archivo
- Manejo de Archivos, Escribir en un archivo
- Manejo de Archivos, Listar un directorio
- Manejo de Archivos, Copiar un archivo
- Manejo de archivos, Borrar un archivo
- Manejo de Archivos, Uso de archivos JSON
- Expresiones Regulares, Introducción
- Expresiones Regulares, Busqueda
- Expresiones Regulares, Sintaxis
- Expresiones Regulares, Validación
- Expresiones Regulares, Transformación de datos
- Expresiones Regulares, Extracción de datos
- Expresiones Regulares, Limpieza de datos
- Time, Introducción
- Time, Realizar pausa
- Time, Manejo de timeouts
- Time, Programar un temporizador
- Time, Parseo de fechas
- Time, Métodos de las Estructuras
- Time, Sumar y restar a una fecha
- Time, Comparar entre dos fechas
- Despliegue de la Aplicación, Compilación
- Despliegue de la Aplicación, Reducir dimensión del compilado
- Despliegue de la Aplicación, Go get
- Despliegue de la Aplicación, Uso de binarios