Elige tu idioma
Curso de programación en Go
Más de 2 millones de estudiantes en todo el mundo

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.

Dedika para empresas

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.

Hacé clic acá

Contenido del curso

8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltear contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompts

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