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

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

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

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

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

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

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

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

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

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.

Certificación

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...
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