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

Pase de cero a desarrollador Go seguro con un plan de estudios que cubre desde la sintaxis y los tipos de datos hasta la concurrencia, los servicios HTTP y el perfilamiento de rendimiento. Este curso le brinda experiencia práctica con las herramientas, los patrones y los paquetes de la librería estándar que los ingenieros Go reales usan a diario. Ya sea que esté construyendo herramientas CLI, API REST o servicios de alto rendimiento, tendrá las habilidades para entregar código Go con calidad de producción.

Dedika para empresas

Qué vas a aprender:

  • Configure un entorno de desarrollo Go completo y domine la cadena de herramientas CLI principal.

  • Construya programas modulares y seguros en cuanto a tipos usando structs, interfaces y genéricos de Go.

  • Diseñe sistemas concurrentes con goroutines, canales y la declaración select.

  • Implemente manejo de errores robusto, pruebas unitarias y benchmarks siguiendo las mejores prácticas de Go.

  • Construya y pruebe servidores HTTP y API RESTful usando el paquete net/http.

  • Perfile y optimice aplicaciones Go para eficiencia de CPU y bajo consumo 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 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 • 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 • Comprendiendo el 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 • Eligiendo y Configurando un Editor

    Examina editores e IDEs populares con soporte para Go y configura funciones del servidor de lenguaje. Las herramientas productivas aceleran el aprendizaje a lo largo del curso.

  • Lección 3 • Comandos Esenciales de la CLI de Go

    Presenta los subcomandos esenciales del comando go que se usan a diario. Los estudiantes ganan confianza ejecutando, construyendo y probando código desde la terminal.

  • Lección 4 • Instalando Go en Su 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 de variable corta y las constantes tipadas. Presenta la garantía del 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 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 proceso de 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 Go debe seguir.

  • Lección 5 • Tipos Numéricos, Booleanos y de Cadena

    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 la limpieza y el mecanismo de panic/recover para la 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 retornan otras funciones. Prepara a los estudiantes para los patrones funcionales utilizados en las librerías 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 su uso posterior con segmentos y mapas.

  • Lección 4 • Definiendo y Llamando Funciones

    Enseña las firmas de funciones, múltiples valores de retorno y retornos nombrados. Establece las convenciones de funciones de Go utilizadas durante el resto del curso.

  • Lección 5 • Sentencias Condicionales

    Cubre if, else y la sentencia de inicialización dentro de las condiciones if. Demuestra la preferencia de Go por los retornos tempranos en lugar del anidamiento profundo.

Capítulo 4Ver detalles

Tipos Compuestos: Arreglos, Segmentos y Mapas

  • Lección 1 • Arreglos: Colecciones de Longitud Fija

    Define la sintaxis de los arreglos, la semántica de valor y las restricciones de tamaño. Contrasta los arreglos con los segmentos para motivar por qué los segmentos dominan el código Go.

  • Lección 2 • Mapas: Almacenamiento Clave-Valor

    Explica la creación de mapas, operaciones CRUD y el modismo comma-ok. Los mapas son la estructura de datos asociativa primaria en los programas Go.

  • Lección 3 • Iterando Colecciones con Range

    Enseña la palabra clave range a través de segmentos, arreglos, cadenas y mapas. Refuerza la iteración idiomática de Go presentada en el capítulo de flujo de control.

  • Lección 4 • Segmentos: Secuencias Dinámicas

    Cubre los internos de los segmentos (puntero, longitud, capacidad) y operaciones comunes. El dominio de los segmentos es esencial para casi todos los programas Go.

  • Lección 5 • Cadenas y Manipulación de Bytes

    Explora la conversión de cadena a segmento 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 marcar y barrer, la afinación de GOGC y las pausas del GC. Los estudiantes aprenden a perfilar y reducir la presión del GC en programas de producción.

  • Lección 3 • Asignación en Pila vs. Montículo

    Explica cómo el compilador decide dónde viven las variables usando análisis de escape. Comprender la asignación ayuda a los estudiantes a escribir código de baja latencia y amigable con el GC.

  • Lección 4 • Fundamentos de Punteros

    Presenta los operadores de dirección y desreferenciación, 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 • Definiendo y Usando 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 Librería Estándar

    Examina las interfaces io.Reader, io.Writer, fmt.Stringer y error. Implementarlas desbloquea una integración perfecta con la librería 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 por valor y por puntero. Establece las reglas de elección del 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 trabajadores, pipelines y arquitecturas fan-out/fan-in. Los estudiantes aplican primitivas a diseños de carga de trabajo concurrente 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 funciones de prueba, pruebas basadas en tablas y 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, errores centinela y tipos de error personalizados. El manejo idiomático de errores es central para la filosofía de confiabilidad 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 plazos 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 pila actual.

  • Profesional de DevOps que busca escribir herramientas personalizadas y scripts de automatización en Go.

  • Estudiante de ciencias de la computación deseoso de aprender pensamiento a nivel de sistemas mediante un lenguaje moderno.

  • Desarrollador independiente 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 los fundamentos básicos de programación.

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