
Curso de programación en Go
Dominá Go desde cero y desarrollá las habilidades para escribir software rápido, confiable y listo para producción. Este curso cubre todo, desde la sintaxis básica y la concurrencia hasta APIs REST, integración con bases de datos y despliegue DevOps. No importa si sos nuevo en Go o si venís de otro lenguaje, vas a terminar con experiencia real y lista para el mercado laboral.
Qué vas a aprender:
Vas a arrancar con la sintaxis, el sistema de tipos y las herramientas de Go, y después avanzar con funciones, interfaces y estructuras de datos fundamentales. El curso cubre el modelo de concurrencia de Go usando goroutines, canales y el paquete context para construir programas correctos y de alto rendimiento. Vas a aprender a escribir tests exhaustivos, hacer benchmark de código y depurar con herramientas profesionales. Las secciones siguientes cubren la construcción de APIs REST, la integración con bases de datos y el despliegue de servicios containerizados en Kubernetes. También vas a aplicar genéricos, patrones avanzados de concurrencia y prácticas de ingeniería profesional que se usan en equipos de Go en producción.
Cómo estudiás de forma práctica Curso de programación en Go
Cómo practicás Curso de programación en Go
Para vos que sos empresa y querés 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 • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos del lenguaje Go
Fundamentos del lenguaje Go
Lección 1 • Variables, tipos y constantes
Presenta el tipado estático, la inferencia de tipos y las declaraciones de constantes. Sitúa a los estudiantes en el estricto sistema de tipos de Go antes de que aparezcan estructuras de datos complejas.
Lección 2 • Operadores y expresiones
Cubre operadores aritméticos, de comparación, lógicos y bit a bit. Prepara a los estudiantes para escribir lógica condicional y computacional significativa.
Lección 3 • Sintaxis básica y estructura del programa
Cubre paquetes, importaciones, la función main y la sintaxis de sentencias. Proporciona el esqueleto estructural para todos los programas Go que se escriben en el curso.
Lección 4 • Estructuras de control de flujo
Enseña las sentencias if, for, switch y defer como el conjunto completo de herramientas de control de Go. Permite a los estudiantes escribir programas con lógica de ramificación e iterativa.
Lección 5 • Configuración del entorno de Go
Instalá la cadena de herramientas de Go y configurá un espacio de trabajo productivo. Establece la línea base técnica de la que depende cada capítulo posterior.
Capítulo 2OcultarOcultar detallesVer detallesFunciones y manejo de errores
Funciones y manejo de errores
Lección 1 • Recursión y valores de función
Explora algoritmos recursivos y funciones como valores de primera clase. Prepara a los estudiantes para patrones de orden superior y diseños basados en callbacks.
Lección 2 • Patrones de pánico, recuperación y defer
Cubre la propagación de pánico, los mecanismos de recuperación y la limpieza basada en defer. Prepara a los estudiantes para manejar fallos inesperados sin que los servicios en producción se caigan.
Lección 3 • Funciones variádicas y clausuras
Presenta parámetros variádicos y funciones literales que capturan el alcance. Permite APIs flexibles y patrones de programación funcional en Go.
Lección 4 • Definición y llamada de funciones
Cubre firmas de funciones, parámetros y valores de retorno. Establece la unidad de código reutilizable sobre la que se construyen todas las abstracciones posteriores.
Lección 5 • El tipo error y sus convenciones
Enseña la interfaz error de Go, los retornos de error idiomáticos y los errores centinela. Construye la base para una propagación robusta de errores en toda la base de código.
Capítulo 3OcultarOcultar detallesVer detallesEstructuras de datos centrales
Estructuras de datos centrales
Lección 1 • Patrones de slices y dificultades
Aborda la semántica de copia, los arrays de respaldo compartidos y los errores comunes. Previene problemas de memoria y corrección que surgen en código real con uso intensivo de slices.
Lección 2 • Structs y etiquetas de struct
Presenta la declaración de structs, el acceso a campos, la incrustación y las etiquetas. Proporciona la base de tipos personalizados para el modelado de dominio y la serialización.
Lección 3 • Arrays y slices
Distingue arrays fijos de slices dinámicos y cubre el funcionamiento interno de los slices. Proporciona el tipo de colección de uso general que se usa prácticamente en todos los programas Go.
Lección 4 • Mapas
Cubre la creación de maps, operaciones CRUD y semántica de iteración. Permite el modelado de datos clave-valor esencial para configuración, caché y tablas de búsqueda.
Lección 5 • Punteros y direccionamiento de memoria
Explica la sintaxis de punteros, la desreferenciación y cuándo usar punteros vs. valores. Conecta la semántica de memoria con la mutación de structs y las ventajas y desventajas de rendimiento.
Capítulo 4OcultarOcultar detallesVer detallesInterfaces y sistema de tipos
Interfaces y sistema de tipos
Lección 1 • Métodos en tipos
Enseña receptores de valor y puntero, expresiones de método y promoción. Conecta las definiciones de struct con los contratos de comportamiento expresados a través de interfaces.
Lección 2 • Aserciones de tipo y switch de tipo
Cubre aserciones de tipo seguras e inseguras y la construcción switch de tipo. Permite la inspección de tipos en tiempo de ejecución necesaria para patrones de despacho de estilo genérico.
Lección 3 • Definición e implementación de interfaces
Cubre la declaración de interfaces, la satisfacción implícita y los conjuntos de métodos. Establece el mecanismo de polimorfismo central para el diseño idiomático de Go.
Lección 4 • Composición de interfaces y patrones de diseño
Explora la composición de interfaces pequeñas y la aplicación de inyección de dependencias. Produce arquitecturas de código débilmente acopladas y testeables.
Lección 5 • Interfaces de la biblioteca estándar
Examina io.Reader, io.Writer, Stringer y error como modelos de diseño. Muestra cómo satisfacer interfaces estándar integra tipos personalizados con el ecosistema.
Capítulo 5OcultarOcultar detallesVer detallesPaquetes, módulos y herramientas
Paquetes, módulos y herramientas
Lección 1 • Documentación y generación de código
Enseña convenciones de godoc, funciones de ejemplo y go generate. Produce paquetes autodocumentados y automatiza tareas de código repetitivas.
Lección 2 • Linting y herramientas de calidad de código
Presenta staticcheck, golangci-lint y la aplicación de formateo. Incorpora estándares de calidad profesional en cada proyecto desde el primer día.
Lección 3 • Principios de organización de paquetes
Cubre convenciones de nomenclatura, identificadores exportados y paquetes internos. Establece la disciplina estructural que mantiene navegables las bases de código grandes.
Lección 4 • Comandos build, test y vet
Cubre go build, go test, go vet y etiquetas de build. Integra verificaciones de calidad en el flujo de trabajo de desarrollo desde el principio.
Lección 5 • Módulos de Go y gestión de dependencias
Enseña go.mod, go.sum, versionado y el proxy de módulos. Permite compilaciones reproducibles e integración segura de dependencias de terceros.
Capítulo 6OcultarOcultar detallesVer detallesConcurrencia con goroutines y channels
Concurrencia con goroutines y channels
Lección 1 • Sentencia select y timeouts
Enseña la sentencia select para multiplexar operaciones de channel. Permite patrones de E/S sin bloqueo y flujos de trabajo concurrentes controlados por timeout.
Lección 2 • Primitivas de sincronización: Mutex y WaitGroup
Presenta sync.Mutex, sync.RWMutex y sync.WaitGroup para estado compartido. Complementa el diseño basado en channels con herramientas de sincronización de bajo nivel.
Lección 3 • Goroutines y el scheduler de Go
Explica la creación de goroutines, el scheduler M:N y el ciclo de vida de las goroutines. Proporciona el modelo conceptual necesario para razonar sobre la ejecución concurrente.
Lección 4 • Detección de condiciones de carrera y patrones de concurrencia
Usa el detector de condiciones de carrera y cubre pipelines, fan-out y pools de workers. Produce arquitecturas concurrentes verificadas y de calidad de producción.
Lección 5 • Channels: comunicación y sincronización
Cubre channels con y sin búfer, tipos de dirección y cierre. Establece el paso seguro de datos entre goroutines sin memoria compartida.
Capítulo 7OcultarOcultar detallesVer detallesLa biblioteca estándar en profundidad
La biblioteca estándar en profundidad
Lección 1 • Primitivas de E/S y operaciones con archivos
Cubre los paquetes io, bufio y os para leer y escribir datos. Proporciona la base de E/S para el procesamiento de archivos y programas basados en flujos.
Lección 2 • Cliente y servidor HTTP básicos
Presenta net/http para construir servidores y realizar solicitudes HTTP. Proporciona la base de redes que se amplía en el capítulo aplicado más adelante.
Lección 3 • Strings, bytes y Unicode
Enseña los paquetes strings, bytes, unicode y strconv para el procesamiento de texto. Permite el manejo correcto de datos UTF-8 en aplicaciones internacionales.
Lección 4 • Tiempo, fechas y temporizadores
Explora el paquete time para parseo, formateo y planificación. Permite lógica con conciencia de tiempo en APIs, trabajos y sistemas orientados a eventos.
Lección 5 • Codificación y serialización
Cubre encoding/json, encoding/xml y encoding/csv para el intercambio de datos. Conecta los programas Go con sistemas externos a través de formatos de serialización estándar.
Capítulo 8OcultarOcultar detallesVer detallesPruebas, benchmarking y depuración
Pruebas, benchmarking y depuración
Lección 1 • Pruebas unitarias con el paquete testing
Cubre funciones de prueba, pruebas basadas en tablas y subpruebas. Establece la disciplina central de pruebas que se aplica a cada paquete del curso.
Lección 2 • Pruebas de integración y de extremo a extremo
Cubre httptest, bases de datos en memoria y contenedores de prueba. Valida el comportamiento del sistema a través de los límites de los componentes en condiciones realistas.
Lección 3 • Benchmarking y profiling
Usa funciones Benchmark, pprof y trace para encontrar cuellos de botella. Produce mejoras de rendimiento basadas en datos y fundamentadas en mediciones.
Lección 4 • Técnicas y herramientas de depuración
Cubre el depurador Delve, el trazado basado en logs y el diagnóstico en tiempo de ejecución. Prepara a los estudiantes para localizar y corregir defectos de manera eficiente en cualquier programa Go.
Lección 5 • Mocking y dobles de prueba
Enseña mocking basado en interfaces, implementaciones falsas y fixtures de prueba. Permite pruebas unitarias aisladas que no dependen de sistemas externos.
Tu certificado válido de finalización
Este curso es para vos:
Desarrollador backend: quiere adoptar Go para un trabajo del lado del servidor más rápido y eficaz.
Desarrollador de Python o JavaScript: listo para pasarse a lenguajes compilados y con tipado estático.
Estudiante de ciencias de la computación: armando un portafolio con un lenguaje valorado en el mercado laboral.
Ingeniero DevOps: necesita leer, modificar o escribir scripts de automatización y herramientas en Go.
Persona que cambia de carrera: haciendo la transición a ingeniería de software con un enfoque en stacks de backend modernos.
Programador aficionado: tenés curiosidad por el pensamiento a nivel de sistemas sin la complejidad de C o C++.
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 recomendé a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear 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, simple 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 Argentina?
¿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




















