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

Domine Go desde cero y desarrolle 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 API REST, integración de bases de datos y despliegue DevOps. Ya sea que usted sea nuevo en Go o esté subiendo de nivel desde otro lenguaje, al finalizar tendrá experiencia real y lista para el mercado laboral.

Dedika para empresas

Qué vas a aprender:

Usted comenzará con la sintaxis de Go, su sistema de tipos y herramientas, para luego avanzar a través de 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. Usted aprenderá a escribir pruebas integrales, a evaluar el rendimiento del código y a depurar con herramientas profesionales. Las secciones posteriores cubren la construcción de API REST, la integración de bases de datos y el despliegue de servicios contenerizados en Kubernetes. Usted también aplicará genéricos, patrones avanzados de concurrencia y prácticas profesionales de ingeniería que se usan en equipos de Go en producción.

Cómo estudias de forma práctica Curso de programación en Go

Cómo practicas Curso de programación en Go

Para ti que eres 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.

Haz clic aquí

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

    Introduce la tipificación estática, la inferencia de tipos y las declaraciones de constantes. Sienta las bases del sistema de tipos estricto 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 a nivel de bits. 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 escritos en el curso.

  • Lección 4 • Estructuras de Flujo de Control

    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 iteración.

  • Lección 5 • Configuración del Entorno Go

    Instale la cadena de herramientas Go y configure 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 Panic, Recover y Defer

    Cubre la propagación de panic, la mecánica de recovery y la limpieza basada en defer. Capacita a los estudiantes para manejar fallos inesperados sin detener servicios en producción.

  • Lección 3 • Funciones Variádicas y Closures

    Introduce parámetros variádicos y literales de función que capturan el ámbito. Habilita APIs flexibles y patrones de programación funcional en Go.

  • Lección 4 • Definición y Llamada de Funciones

    Cubre firmas de función, 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 Convenciones

    Enseña la interfaz error de Go, retornos de error idiomáticos y errores centinela. Construye la base para una propagación robusta de errores a través de la base de código.

Capítulo 3Ver detalles

Estructuras de Datos Básicas

  • Lección 1 • Patrones y Trampas de Slices

    Aborda la semántica de copia, los arrays subyacentes compartidos y los bugs 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

    Introduce la declaración de structs, acceso a campos, incrustación y etiquetas. Proporciona la base de tipos personalizados para modelado de dominio y 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 trabajo utilizado en prácticamente todos los programas Go.

  • Lección 4 • Mapas

    Cubre creación de mapas, operaciones CRUD y semántica de iteración. Habilita 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 compensaciones 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 structs con los contratos de comportamiento expresados a través de interfaces.

  • Lección 2 • Aserciones de Tipo y Type Switches

    Cubre aserciones de tipo seguras e inseguras y la construcción type switch. Habilita 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 declaración de interfaces, satisfacción implícita y conjuntos de métodos. Establece el mecanismo de polimorfismo central en 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

    Introduce staticcheck, golangci-lint y aplicación de formato. 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 controles de calidad en el flujo de trabajo de desarrollo desde el inicio.

  • Lección 5 • Módulos 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 Canales

  • Lección 1 • Sentencia Select y Tiempos de Espera

    Enseña la sentencia select para multiplexar operaciones de canal. Habilita patrones de E/S no bloqueante y flujos de trabajo concurrentes controlados por tiempo de espera.

  • Lección 2 • Primitivas de Sincronización: Mutex y WaitGroup

    Introduce sync.Mutex, sync.RWMutex y sync.WaitGroup para estado compartido. Complementa el diseño basado en canales con herramientas de sincronización de bajo nivel.

  • Lección 3 • Goroutines y el Programador de Go

    Explica la creación de goroutines, el programador 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 listas para producción.

  • Lección 5 • Canales: Comunicación y Sincronización

    Cubre canales sin búfer y con 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 de Archivo

    Cubre los paquetes io, bufio y os para leer y escribir datos. Proporciona la base de E/S para procesamiento de archivos y programas basados en flujos.

  • Lección 2 • Fundamentos de Cliente y Servidor HTTP

    Introduce net/http para construir servidores y realizar peticiones HTTP. Proporciona la base de redes que se amplía en el capítulo aplicado siguiente.

  • Lección 3 • Cadenas, Bytes y Unicode

    Enseña los paquetes strings, bytes, unicode y strconv para 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 análisis sintáctico, formateo y programación. Habilita lógica consciente del tiempo en APIs, trabajos y sistemas basados en eventos.

  • Lección 5 • Codificación y Serialización

    Cubre encoding/json, encoding/xml y encoding/csv para intercambio de datos. Conecta 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 básica de pruebas aplicada a cada paquete en el 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 Perfilado

    Usa funciones Benchmark, pprof y trace para encontrar cuellos de botella. Produce mejoras de rendimiento basadas en datos y fundamentadas en la medición.

  • Lección 4 • Técnicas y Herramientas de Depuración

    Cubre el depurador Delve, trazado basado en logs y diagnósticos en tiempo de ejecución. Capacita a los estudiantes para localizar y corregir defectos de manera eficiente en cualquier programa Go.

  • Lección 5 • Simulación y Dobles de Prueba

    Enseña simulación basada en interfaces, implementaciones falsas y accesorios 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 ti:

  • Desarrollador backend: desea adoptar Go para un trabajo del lado del servidor más rápido y eficiente.

  • Desarrollador de Python o JavaScript: listo para pasar a lenguajes compilados y de tipado estático.

  • Estudiante de ciencias de la computación: construyendo un portafolio con un lenguaje valorado en el mercado laboral.

  • Ingeniero de DevOps: necesita leer, modificar o escribir herramientas de Go y scripts de automatización.

  • Persona en transición de carrera: migrando hacia la ingeniería de software con un enfoque en stacks de backend modernos.

  • Programador aficionado: curioso sobre el pensamiento a nivel de sistemas sin la complejidad de C o C++.

Lo que dicen nuestros estudiantes

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...
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 saltar 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 Ecuador?

¿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