
Curso básico de programación en Go
Pasa de cero a desarrollador Go con confianza mediante un plan de estudios que cubre desde sintaxis y tipos de datos hasta concurrencia, servicios HTTP y perfilamiento de desempeño. Este curso te da experiencia práctica con las herramientas, patrones y paquetes de la biblioteca estándar que los ingenieros Go reales usan a diario. Ya sea que estés creando herramientas CLI, APIs REST o servicios de alto throughput, tendrás las habilidades para entregar código Go con calidad de producción.
Lo que vas a aprender:
Configurarás un entorno completo de desarrollo en Go y dominarás el toolchain principal de CLI.
Construirás programas modulares y con seguridad de tipos usando structs, interfaces y genéricos de Go.
Diseñarás sistemas concurrentes con goroutines, canales y la sentencia select.
Implementarás un manejo robusto de errores, pruebas unitarias y benchmarks siguiendo las mejores prácticas de Go.
Construirás y probarás servidores HTTP y APIs RESTful usando el paquete net/http.
Perfilarás y optimizarás aplicaciones Go para eficiencia de CPU y baja sobrecarga de memoria.
Cómo estudias de forma práctica Curso básico de programación en Go
Cómo practicas Curso básico de programación en Go
Para ti que tienes una empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesConfiguración del Entorno y Herramientas de Go
Configuración del Entorno y Herramientas de Go
Lección 1 • Comprensión del Espacio de Trabajo de Go
Explica la disposición tradicional del espacio de trabajo y la estructura moderna de proyectos basada en módulos. Conecta las convenciones de directorios con la forma en que Go resuelve los paquetes.
Lección 2 • Elección y Configuración de un Editor
Revisa editores e IDEs populares con soporte para Go y configura las funciones del Language Server. Las herramientas productivas aceleran el aprendizaje a lo largo del curso.
Lección 3 • Comandos Principales de la CLI de Go
Presenta los subcomandos esenciales del comando go que se usan a diario. Los estudiantes ganan confianza para ejecutar, compilar y probar código desde la terminal.
Lección 4 • Instalación de Go en Tu Sistema
Cubre la descarga e instalación de la distribución de Go en Windows, macOS y Linux. Proporciona la base para todos los ejercicios prácticos posteriores.
Capítulo 2OcultarOcultar detallesVer detallesSintaxis de Go y Tipos de Datos Básicos
Sintaxis de Go y Tipos de Datos Básicos
Lección 1 • Variables, Constantes y Valores Cero
Cubre las declaraciones var, la sintaxis corta de variables y las constantes tipadas. Presenta la garantía de valor cero de Go como una característica de seguridad.
Lección 2 • Entrada y Salida Formateada
Enseña los verbos del paquete fmt para imprimir y escanear la entrada del usuario. Conecta el conocimiento de la sintaxis con el comportamiento visible del programa.
Lección 3 • Conversiones de Tipo e Iota
Explica las reglas de conversión explícita de tipos y el enumerador iota para constantes. Previene errores comunes de incompatibilidad de tipos al inicio del aprendizaje.
Lección 4 • Estructura del Programa y Paquetes
Examina la anatomía de un archivo fuente de Go, incluyendo declaraciones de paquete e importaciones. Establece las reglas estructurales que todo programa de Go debe seguir.
Lección 5 • Tipos Numéricos, Booleanos y Cadenas
Detalla los tamaños de enteros, la precisión de punto flotante, los booleanos y la inmutabilidad de las cadenas. Prepara a los estudiantes para elegir los tipos apropiados para datos reales.
Capítulo 3OcultarOcultar detallesVer detallesFlujo de Control y Funciones
Flujo de Control y Funciones
Lección 1 • Defer, Panic y Recover
Presenta las llamadas diferidas para limpieza y el mecanismo panic/recover para contención de errores. Construye hábitos seguros de gestión de recursos desde el principio.
Lección 2 • Closures y Funciones de Orden Superior
Explora cómo los closures capturan variables y cómo las funciones aceptan o devuelven otras funciones. Prepara a los estudiantes para patrones funcionales usados en las bibliotecas de Go.
Lección 3 • Bucles e Iteración
Explica la única palabra clave de bucle de Go, for, y sus tres formas. Conecta los patrones de iteración con el uso posterior de slices y maps.
Lección 4 • Definición y Llamada de Funciones
Enseña las firmas de funciones, los múltiples valores de retorno y los retornos nombrados. Establece las convenciones de funciones de Go que se usan a lo largo del resto del curso.
Lección 5 • Sentencias Condicionales
Cubre if, else y la sentencia init dentro de las condiciones if. Demuestra la preferencia de Go por los retornos tempranos sobre el anidamiento profundo.
Capítulo 4OcultarOcultar detallesVer detallesTipos Compuestos: Arrays, Slices y Maps
Tipos Compuestos: Arrays, Slices y Maps
Lección 1 • Arrays: Colecciones de Longitud Fija
Define la sintaxis de arrays, la semántica de valor y las restricciones de tamaño. Contrasta los arrays con los slices para motivar por qué los slices dominan el código Go.
Lección 2 • Maps: Almacenamiento Clave-Valor
Explica la creación de maps, las operaciones CRUD y el modismo comma-ok. Los maps son la estructura de datos asociativa principal en los programas Go.
Lección 3 • Iteración de Colecciones con Range
Enseña la palabra clave range a través de slices, arrays, cadenas y maps. Refuerza la iteración idiomática de Go introducida en el capítulo de flujo de control.
Lección 4 • Slices: Secuencias Dinámicas
Cubre los internos de los slices (puntero, longitud, capacidad) y las operaciones comunes. El dominio de los slices es esencial para casi todos los programas Go.
Lección 5 • Cadenas y Manipulación de Bytes
Explora la conversión de cadena a slice de bytes, el paquete strings y el manejo de UTF-8. Une el conocimiento de tipos compuestos con tareas reales de procesamiento de texto.
Capítulo 5OcultarOcultar detallesVer detallesPunteros y Gestión de Memoria
Punteros y Gestión de Memoria
Lección 1 • Paquete Unsafe y Acceso de Bajo Nivel
Examina unsafe.Pointer, Sizeof y Alignof para tareas a nivel de sistemas. Enfatiza cuándo y por qué evitar unsafe en el código de aplicación.
Lección 2 • El Recolector de Basura de Go
Describe el GC tricolor de marca y barrido, la configuración de GOGC y las pausas del GC. Los estudiantes aprenden a perfilar y reducir la presión del GC en programas en producción.
Lección 3 • Asignación en Stack vs. Heap
Explica cómo el compilador decide dónde residen las variables usando el análisis de escape. Comprender la asignación ayuda a los estudiantes a escribir código amigable con el GC y de baja latencia.
Lección 4 • Fundamentos de Punteros
Presenta los operadores de dirección y desreferencia, los punteros nil y la ausencia de aritmética de punteros. Construye un modelo mental para el uso seguro de punteros en Go.
Capítulo 6OcultarOcultar detallesVer detallesStructs, Métodos e Interfaces
Structs, Métodos e Interfaces
Lección 1 • Definición y Uso de Structs
Cubre la declaración de structs, acceso a campos, incrustación y structs anónimos. Los structs son el mecanismo principal de Go para agrupar datos relacionados.
Lección 2 • Composición Sobre Herencia
Demuestra cómo la incrustación de structs e interfaces reemplaza la herencia clásica. Los estudiantes diseñan jerarquías de tipos flexibles y mantenibles sin subclases.
Lección 3 • Interfaces Comunes de la Biblioteca Estándar
Examina las interfaces io.Reader, io.Writer, fmt.Stringer y error. Implementarlas desbloquea una integración perfecta con la biblioteca estándar de Go.
Lección 4 • Interfaces e Implementación Implícita
Explica la declaración de interfaces, la satisfacción implícita y el despacho polimórfico. Las interfaces son la piedra angular del modelo de extensibilidad de Go.
Lección 5 • Métodos en Tipos
Enseña cómo adjuntar métodos a tipos nombrados usando receptores de valor y puntero. Establece las reglas de elección de receptor que afectan la mutación y el rendimiento.
Capítulo 7OcultarOcultar detallesVer detallesConcurrencia con Goroutines y Canales
Concurrencia con Goroutines y Canales
Lección 1 • Estado Compartido y el Paquete sync
Presenta Mutex, RWMutex, Once y operaciones atómicas para concurrencia con memoria compartida. Complementa los patrones basados en canales para secciones críticas para el rendimiento.
Lección 2 • Sentencia Select y Tiempos de Espera
Enseña la multiplexación de operaciones de canal con select y la implementación de tiempos de espera. Permite programas concurrentes receptivos que manejan múltiples fuentes de eventos.
Lección 3 • Patrones Comunes de Concurrencia
Demuestra pools de workers, pipelines y arquitecturas fan-out/fan-in. Los estudiantes aplican las primitivas a diseños de cargas de trabajo concurrentes del mundo real.
Lección 4 • Canales: Tuberías de Comunicación Tipadas
Cubre canales sin búfer y con búfer, tipos direccionales y semántica de cierre. Los canales son la herramienta principal de Go para compartir datos de forma segura entre goroutines.
Lección 5 • Goroutines y el Planificador de Go
Explica la creación de goroutines, el planificador M:N y GOMAXPROCS. Establece el modelo mental necesario para razonar sobre la ejecución concurrente.
Capítulo 8OcultarOcultar detallesVer detallesManejo de Errores, Pruebas y Módulos
Manejo de Errores, Pruebas y Módulos
Lección 1 • Pruebas Unitarias con el Paquete testing
Presenta las funciones de prueba, las pruebas basadas en tablas y las subpruebas. Las pruebas automatizadas son la principal barrera de calidad para los proyectos Go.
Lección 2 • Manejo Idiomático de Errores
Cubre la interfaz error, los errores centinela y los tipos de error personalizados. El manejo idiomático de errores es central en la filosofía de fiabilidad de Go.
Lección 3 • Paquete Context para Cancelación
Enseña context.Background, WithCancel, WithTimeout y propagación de valores. Context es el mecanismo estándar para fecha límite y cancelación a través de los límites de las API.
Lección 4 • Módulos de Go y Gestión de Dependencias
Explica go.mod, go.sum, versionado y el proxy de módulos. Las compilaciones reproducibles dependen de una configuración correcta del módulo.
Lección 5 • Benchmarks y Cobertura de Código
Cubre funciones de benchmark, bucles b.N e informes de cobertura. Las líneas base de rendimiento y las métricas de cobertura guían las decisiones de optimización y calidad.
Tu certificado válido de finalización
Este curso es para ti:
Desarrollador de Python o JavaScript con curiosidad por los lenguajes compilados y de tipado estático.
Ingeniero de backend que busca una alternativa más rápida y eficiente a su stack actual.
Profesional de DevOps que busca escribir herramientas personalizadas y scripts de automatización en Go.
Estudiante de ciencias de la computación con interés en aprender pensamiento a nivel de sistemas mediante un lenguaje moderno.
Desarrollador freelance que busca ampliar su oferta de servicios con backends basados en Go.
Persona en transición de carrera desde un campo ajeno al software que ha aprendido fundamentos básicos de programación.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en México?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















