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

Curso Básico de Programación en Go

4.3

Domina Go desde cero: desde la configuración del toolchain y la sintaxis básica hasta concurrencia, pruebas y optimización de rendimiento. Este curso integral proporciona a los desarrolladores las habilidades prácticas para escribir código Go limpio y listo para producción. Ya sea que estés construyendo herramientas de CLI, servicios concurrentes o bibliotecas reutilizables, terminarás con la confianza para entregar software real.

Dedika para empresas

Lo que vas a aprender:

  • Configura un entorno profesional de desarrollo en Go y domina el toolchain principal.

  • Construye programas concurrentes usando goroutines, canales y primitivas de sincronización.

  • Diseña APIs flexibles con el sistema de interfaces de Go y el modelo de satisfacción implícita.

  • Maneja errores idiomáticamente usando tipos personalizados, envoltura y propagación estructurada.

  • Organiza bases de código en módulos versionados con prácticas limpias de gestión de dependencias.

  • Verifica y optimiza la calidad del código mediante pruebas unitarias, benchmarks y herramientas de profiling.

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

Entorno de Go y Fundamentos del Lenguaje

  • Lección 1 • Instalación y Configuración de Go

    Cubre la instalación de Go, la distribución del espacio de trabajo y la configuración de las herramientas. Proporciona la base operativa de la que depende cada capítulo posterior.

  • Lección 2 • Operadores y Expresiones

    Cubre operadores aritméticos, de comparación, lógicos y a nivel de bits. Los estudiantes adquieren la capacidad de construir expresiones correctas en cualquier contexto de Go.

  • Lección 3 • Variables, Constantes y Tipos de Datos

    Enseña los estilos de declaración de variables, los valores cero y los tipos primitivos integrados. Desarrolla la conciencia de tipos necesaria para cada tarea de codificación posterior.

  • Lección 4 • Uso de las Herramientas de Go

    Explora los comandos go build, go fmt, go vet y go doc. Proporciona a los estudiantes las herramientas de flujo de trabajo diario utilizadas en el desarrollo profesional de Go.

  • Lección 5 • Estructura y Sintaxis del Programa en Go

    Presenta las declaraciones de paquete, las sentencias de importación y el punto de entrada principal. Establece las reglas estructurales que deben seguir todos los archivos fuente de Go.

Capítulo 2Ver detalles

Flujo de Control y Funciones

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

    Presenta las firmas de funciones, los parámetros y los valores de retorno. Establece el bloque de construcción para el código modular de Go utilizado a lo largo del curso.

  • Lección 2 • Bucles e Iteración

    Cubre el bucle for en todas sus formas, incluida la iteración basada en range. Proporciona las herramientas de iteración necesarias para procesar colecciones y flujos.

  • Lección 3 • Diferir, Pánico y Recuperación

    Explica las llamadas diferidas, la propagación de pánico y los patrones de recuperación. Los estudiantes aprenden el enfoque idiomático de Go para la limpieza de recursos y la contención de errores.

  • Lección 4 • Funciones de Primera Clase y Closures

    Trata las funciones como valores, cubriendo funciones anónimas y closures. Prepara a los estudiantes para los patrones de orden superior utilizados en capítulos posteriores.

  • Lección 5 • Sentencias Condicionales

    Enseña las construcciones if, else if, else y switch con modismos específicos de Go. Permite la lógica de ramificación esencial para todos los programas del mundo real.

Capítulo 3Ver detalles

Tipos Compuestos: Arreglos, Slices y Mapas

  • Lección 1 • Arreglos en Go

    Cubre la declaración de arreglos de longitud fija, la indexación y la semántica de valor. Establece el modelo de memoria que sustenta el comportamiento de los slices en secciones posteriores.

  • Lección 2 • Patrones Comunes de Slices

    Demuestra modismos de filtrado, deduplicación y modificación in situ. Construye un conjunto de herramientas prácticas para la manipulación de slices utilizadas en bases de código reales.

  • Lección 3 • Slices: Funcionamiento Interno y Operaciones

    Explica los encabezados de slice, los arreglos de respaldo y el comportamiento de crecimiento. El dominio aquí previene errores comunes en la manipulación de datos a lo largo del curso.

  • Lección 4 • Estructuras como Registros Compuestos

    Presenta la declaración de estructuras, el acceso a campos, la incrustación y los campos anónimos. Sienta las bases para el sistema de tipos explorado en el próximo capítulo.

  • Lección 5 • Mapas: Creación y Uso

    Enseña los literales de mapa, make, búsqueda, inserción y eliminación. Proporciona la base del almacén clave-valor para patrones de configuración y almacenamiento en caché.

Capítulo 4Ver detalles

Paquetes, Módulos y Gestión de Dependencias

  • Lección 1 • Adición y Gestión de Dependencias

    Enseña go get, go mod tidy y la selección de versiones de dependencias. Los estudiantes mantienen gráficos de dependencias limpios y reproducibles en proyectos reales.

  • Lección 2 • Publicación y Versionado de Módulos

    Explica el etiquetado de lanzamientos, los sufijos de versión principal y los proxies de módulos. Prepara a los estudiantes para compartir bibliotecas reutilizables con el ecosistema de Go.

  • Lección 3 • Módulos de Go y go.mod

    Explica la inicialización de módulos, el archivo go.mod y el versionado semántico. Establece el contrato de dependencia que rige todos los proyectos modernos de Go.

  • Lección 4 • Principios de Organización de Paquetes

    Cubre la nomenclatura de paquetes, los identificadores exportados vs. no exportados y la cohesión. Guía a los estudiantes hacia estructuras de paquetes que escalan con el tamaño del proyecto.

  • Lección 5 • Diseño de Paquetes Internos y Comprobables

    Cubre la convención del paquete internal y los paquetes solo para pruebas. Permite estrategias de encapsulación que protegen los detalles de implementación.

Capítulo 5Ver detalles

Sistema de Tipos de Go: Interfaces y Métodos

  • Lección 1 • Métodos en Tipos

    Cubre los receptores de valor y puntero, los conjuntos de métodos y la promoción mediante incrustación. Establece cómo se adjunta el comportamiento a los tipos en Go.

  • Lección 2 • Mejores Prácticas de Diseño de Interfaces

    Cubre interfaces pequeñas, aceptar interfaces/devolver concretos y la contaminación de interfaces. Guía a los estudiantes hacia límites de API mantenibles y comprobables.

  • Lección 3 • Interfaces de la Biblioteca Estándar

    Examina las interfaces io.Reader, io.Writer, fmt.Stringer y error. Conecta la teoría de interfaces con las interfaces que los estudiantes encuentran a diario.

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

    Enseña aserciones de tipo seguras e inseguras y el despacho con type switch. Permite la inspección de tipos en tiempo de ejecución necesaria para patrones de manejador genéricos.

  • Lección 5 • Definición e Implementación de Interfaces

    Explica las declaraciones de interfaz, la satisfacción implícita y la interfaz vacía. Los estudiantes aprenden a escribir código que depende del comportamiento, no de tipos concretos.

Capítulo 6Ver detalles

Manejo de Errores y Código Robusto

  • Lección 1 • Fundamentos de Registro y Observabilidad

    Presenta el registro estructurado con los paquetes log y log/slog. Conecta el manejo de errores con la visibilidad operativa en sistemas de producción.

  • Lección 2 • Envoltura y Desenvolvimiento de Errores

    Cubre las cadenas de error, errors.Is, errors.As y los árboles de desenvolvimiento. Los estudiantes aprenden a inspeccionar errores en capas sin romper la encapsulación.

  • Lección 3 • Patrones de Pánico y Recuperación

    Revisita panic y recover en el contexto de la seguridad en los límites de la biblioteca. Los estudiantes saben cuándo convertir pánicos en errores en las superficies de la API.

  • Lección 4 • El Modelo de Error en Go

    Explica la interfaz error, las comprobaciones de nil y la propagación idiomática de errores. Establece el modelo mental que rige todo el manejo de errores en Go.

  • Lección 5 • Tipos de Error Personalizados

    Enseña errores basados en estructuras, enriquecimiento de contexto y el método Unwrap. Permite información de error enriquecida para depuración y manejo programático.

Capítulo 7Ver detalles

Concurrencia con Goroutines y Canales

  • Lección 1 • Sincronización con el Paquete sync

    Cubre Mutex, RWMutex, WaitGroup y Once para la seguridad del estado compartido. Complementa la concurrencia basada en canales para escenarios que requieren memoria compartida.

  • Lección 2 • Goroutines y el Planificador de Go

    Explica la creación de goroutines, el planificador M:N y el ciclo de vida de las goroutines. Proporciona el modelo conceptual necesario para razonar sobre la ejecución concurrente.

  • Lección 3 • Patrones Comunes de Concurrencia

    Demuestra agrupaciones de trabajadores, pipelines y arquitecturas fan-out/fan-in. Los estudiantes aplican estos patrones para construir programas concurrentes escalables.

  • Lección 4 • Sentencia Select y Multiplexación

    Enseña la sentencia select para la multiplexación de operaciones de canal. Permite patrones de timeout, cancelación y fan-in utilizados en servicios de producción.

  • Lección 5 • Canales: Comunicación Entre Goroutines

    Cubre canales con búfer y sin búfer, semántica de envío/recepción y cierre. Establece el mecanismo de comunicación principal en la concurrencia de Go.

Capítulo 8Ver detalles

Pruebas, Benchmarking y Calidad del Código

  • Lección 1 • Ayudantes de Prueba y Fixtures de Prueba

    Enseña funciones auxiliares, TestMain y la configuración de recursos temporales. Reduce el boilerplate y mejora la legibilidad de las pruebas en grandes conjuntos de pruebas.

  • Lección 2 • Benchmarking y Perfilado

    Cubre funciones de benchmark, bucles B.N e integración con pprof. Los estudiantes identifican y eliminan cuellos de botella de rendimiento con evidencia basada en datos.

  • Lección 3 • Escritura de Pruebas Unitarias con el Paquete testing

    Cubre las convenciones de archivos de prueba, t.Error, t.Fatal y las subpruebas. Establece la disciplina de prueba de referencia requerida para todos los proyectos de Go.

  • Lección 4 • Cobertura de Código y Puertas de Calidad

    Explica los informes de cobertura, go test -cover y la integración de linters. Conecta las pruebas con los pipelines de integración continua para la aplicación automatizada de la calidad.

  • Lección 5 • Mocking y Pruebas Basadas en Interfaces

    Demuestra mocks manuales, implementaciones stub e inyección de dependencias. Permite pruebas unitarias aisladas para código con dependencias externas.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador backend: quiere añadir Go a un set de habilidades profesionales multi-lenguaje.

  • Programador de Python o JavaScript: listo para explorar un lenguaje de sistemas con tipado estático.

  • Estudiante de ciencias de la computación: busca experiencia práctica más allá de las tareas académicas.

  • Ingeniero DevOps: necesita leer, modificar o escribir herramientas de Go en sus flujos de trabajo diarios.

  • Persona en transición de carrera: migrando al desarrollo de software con un lenguaje estructurado y moderno.

  • Programador por afición: quiere construir herramientas rápidas y autocontenidas para proyectos personales.

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...
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, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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