Saltar al contenido principal
Go
Lenguaje Backend

Formación corporativa en Go

Lenguaje eficiente y concurrente creado por Google.

Evidencias FUNDAE Activación guiada Evaluación con IA Itinerario a medida

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Resumen del itinerario en Go

Para qué equipos

Equipos técnicos que incorporan Go a su stack productivo o consolidan competencias antes de un proyecto crítico. Adaptamos el temario al nivel de partida y al stack acompañante.

Qué se trabaja

Lecciones aplicadas y ejercicios prácticos en Go resueltos en el IDE del navegador, con corrección automática por IA y proyectos integradores revisados con rúbrica explícita.

Cómo se contrata

Propuesta concreta sobre teleformación, aula virtual o plan mixto. Sin coste de setup, sin permanencia, con evidencias FUNDAE exportables para la entidad organizadora.

Activación en 3 pasos

Diseñamos el itinerario, el alcance y el calendario según el nivel y el stack de tu equipo. Evidencias FUNDAE exportables, sin permanencia ni coste de setup.

  1. 1 Demo o llamada
    30 min con el fundador. Cuéntanos el stack, el nivel y el calendario.
  2. 2 Propuesta
    Itinerario y modalidad (teleformación, aula virtual o mixto) con evidencias FUNDAE exportables.
  3. 3 Tenant activo
    Tu equipo entra con SSO, asignaciones automáticas y panel admin completo.

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Qué incluye la formación

Toda la plataforma CertiDevs disponible para tu equipo durante el itinerario. Sin costes ocultos ni módulos premium.

Entornos de programación online, sin instalar nada en el equipo del alumno.
Evaluación con IA de cada ejercicio de código, proyecto y ensayo, con feedback y nota.
Certificado verificable con NIF del alumno y firma digital de CertiDevs.
Panel admin de empresa: alta masiva CSV, asignaciones, foros y encuestas.
Rol inspector FUNDAE con acceso de solo lectura a actividad y resultados.
Reportes exportables en Excel: accesos, progreso, completion y satisfacción.
Integración con tu LMS: LTI 1.1 + 1.3 Deep Linking y exportación SCORM 1.2.
SSO con tu Active Directory (OIDC, Microsoft Entra, Google Workspace).
White-label opcional: subdominio propio, logo y tema de tu marca.
Pruebas técnicas: mismos exámenes para evaluar candidatos en selección.
Foros y mensajería tutorial integrados, requisito FUNDAE cubierto de serie.
Soporte directo de nuestro equipo durante toda la formación.

Cursos disponibles en Go

Cada curso se puede asignar de forma independiente o combinar en un plan formativo.

Curso completo Go completo

Curso completo de Go pensado para construir microservicios, herramientas CLI y sistemas cloud-native con un lenguaje compilado y rápido. Cubres sintaxis y estructuras de datos, structs e interfaces, concurrencia con goroutines y canales, cancelación con contexto, errores idiomáticos, APIs REST, persistencia con SQL y el toolchain oficial. Al terminar entregas servicios y CLIs en Go listos para producción, con tests y módulos bien organizados.

Ver curso
Formación a medida Go programación orientada a objetos

Curso de programación orientada a objetos en Go siguiendo el estilo idiomático del lenguaje, pensado para perfiles que llegan desde Java, C# o TypeScript. Trabajas modelado con structs y métodos, composición por embedding como alternativa a la herencia, interfaces implícitas y pequeñas, polimorfismo estructural, manejo explícito de errores y patrones idiomáticos como constructores y opciones funcionales. Al terminar diseñas dominios en Go sin arrastrar patrones heredados de otros lenguajes.

Ver curso
Formación a medida Go Sintaxis Básica

Curso de sintaxis fundamental para incorporarte a un equipo que usa Go en servicios backend, CLIs u operadores cloud-native. Trabajas instalación del toolchain oficial, tipos primitivos, variables y constantes, operadores y control de flujo, arrays, slices, mapas, funciones con múltiples retornos y el patrón idiomático de errores explícitos. Al terminar tienes la base imprescindible para abordar después structs, interfaces, concurrencia y APIs HTTP en Go.

Ver curso
Formación a medida Go: concurrencia y cancelación con context

Curso para dominar el modelo concurrente de Go, el rasgo que más diferencia al lenguaje en servicios backend. Trabajas goroutines y grupos de espera, comunicación segura con canales, sincronización con mutex y select, prevención de condiciones de carrera y propagación de cancelación y timeouts con contexto en APIs HTTP y workers. Al terminar diseñas servicios concurrentes que no fugan goroutines y respetan límites de tiempo bajo carga.

Ver curso
Formación a medida Go: I/O, datos, CLI y runtime moderno

Curso práctico para entregar binarios Go que tocan disco, red y base de datos con el mismo ejecutable. Trabajas entrada y salida con ficheros y streams, serialización JSON, recursos incrustados en binario, persistencia en PostgreSQL, construcción de CLIs con flags, iteradores modernos del lenguaje y logging estructurado para observabilidad. Al terminar entregas servicios y herramientas de línea de comandos desplegables con configuración mínima y trazas útiles en producción.

Ver curso
Formación a medida Go: pruebas, benchmarks y módulos

Curso de calidad y empaquetado para proyectos Go que ya están en producción o se publican como librerías compartidas. Trabajas pruebas de tabla y subtests, benchmarks para detectar regresiones de rendimiento, fuzzing para entradas aleatorias, gestión de dependencias reproducibles con módulos y monorepos ligeros con workspaces. Al terminar entregas paquetes Go con tests fiables, dependencias auditables y un pipeline de CI verde.

Ver curso

Ver todos los cursos del catálogo

Stacks habituales que las empresas combinan en sus planes formativos junto a Go.

Estructura del itinerario

Módulos, lecciones y ejercicios del itinerario

Go, creado en Google en 2009 y mantenido por una fundación con releases semestrales estables, se ha consolidado como una de las elecciones más productivas para servicios de red, herramientas de CLI y plataformas cloud-native. Su filosofía parte de una premisa clara: un lenguaje simple, con un runtime ligero, concurrencia nativa y un toolchain autocontenido que permite escribir software de sistema manteniendo una curva de aprendizaje corta.

Qué cubre el módulo

Este módulo introduce el lenguaje, su ecosistema y los pasos básicos para preparar un entorno de desarrollo moderno. Cubrimos la instalación de Go en Windows, macOS y Linux, la elección entre versiones estables (1.23 o superior), la configuración del editor (VS Code con la extensión oficial de Go o GoLand), la estructura inicial de un proyecto con go mod init, el primer "Hello World" ejecutado con go run, la compilación a binario estático con go build y el arranque del toolchain (gofmt, go vet, go test). También contextualizamos por qué Go domina en proyectos como Kubernetes, Docker, Terraform, Prometheus y la mayoría de CLIs modernas.

Para qué sirve en la práctica

Este módulo sirve como onramp para cualquier equipo que evalúa Go como alternativa a Java, Node.js o Python en microservicios, herramientas internas de plataforma y productos DevOps. Poner en marcha un entorno correcto evita fricciones posteriores con versiones de módulos, GOPATH y workspaces que históricamente han frenado la adopción.

Lecciones principales incluidas

Incluye lecciones sobre instalación, configuración del IDE, "Hello World" y estructura de un módulo, junto con ejercicios de verificación del entorno.

  • Introducción a Go Lección
  • Instalación y primer programa de Go Lección
  • Instalación Go primer programa Ejercicio

Modalidades de contratación

Elige la modalidad que mejor se adapte a tu organización. Sin permanencia ni coste de setup.

Teleformación

Acceso autónomo al itinerario en la plataforma: lecciones, vídeos, ejercicios evaluados por IA y proyecto integrador. Con tutorización y foro técnico.

Solicitar propuesta

Aula virtual privada

Sesiones en directo sobre cohorte cerrada del cliente. Práctica guiada, resolución de dudas, evaluación al cierre y evidencias exportables.

Solicitar propuesta

Plan mixto

Teleformación con sesiones en directo intercaladas. Equilibra autonomía del alumno con hitos guiados, revisión de proyectos y feedback síncrono.

Solicitar propuesta

Sobre Go

Google Desde 2009 Documentación oficial

Go, también conocido como Golang, es un lenguaje de programación de código abierto desarrollado en 2009 por ingenieros de Google, incluyendo a Robert Griesemer, Rob Pike y Ken Thompson. Diseñado para combinar la facilidad de programación de lenguajes interpretados como Python con la eficiencia y seguridad de lenguajes compilados como C o C++, Go ha ganado popularidad por su simplicidad, rendimiento y soporte nativo para la concurrencia.

Características principales

Sintaxis simple y clara

Go presenta una sintaxis minimalista que facilita la lectura y escritura del código. La convención de estilo es estricta y está reforzada por herramientas integradas como gofmt, que formatea el código de manera consistente.

Compilación rápida

El compilador de Go es notablemente rápido, lo que agiliza el ciclo de desarrollo. Esto se logra gracias a un sistema de compilación eficiente que evita la recompilación innecesaria y a la ausencia de una jerarquía de clases compleja.

Soporte nativo para concurrencia

Una de las características distintivas de Go es su modelo de concurrencia basado en gorutinas y canales:

  • Gorutinas: Son hilos ligeros administrados por el propio runtime de Go, lo que permite ejecutar miles de gorutinas simultáneamente con un overhead mínimo.
  • Canales: Facilitan la comunicación segura y sincronizada entre gorutinas, promoviendo un estilo de programación concurrente más seguro y menos propenso a errores.

Recolección de basura

Go incluye un recolector de basura que maneja automáticamente la gestión de memoria, reduciendo el riesgo de fugas de memoria y errores relacionados con la liberación manual de recursos.

Sistema de tipos estático pero flexible

Aunque Go es un lenguaje de tipado estático, su sistema de tipos ha evolucionado para ser más flexible con la incorporación de genéricos (parámetros de tipo) ya maduros en las versiones modernas del lenguaje. Los genéricos permiten escribir funciones y tipos reutilizables manteniendo la seguridad en tiempo de compilación, y se integran con paquetes estándar como slices, maps y cmp.

Por ejemplo, una función genérica para encontrar el elemento máximo en un slice con la restricción cmp.Ordered del paquete estándar:

import "cmp"

func Max[T cmp.Ordered](valores []T) T {
    max := valores[0]
    for _, v := range valores[1:] {
        if v > max {
            max = v
        }
    }
    return max
}

Go moderno: novedades destacadas

El lenguaje ha estabilizado un conjunto de mejoras que afectan al día a día del desarrollador:

  • Genéricos maduros con cmp.Ordered, slices.Sort, slices.Contains y maps.Keys como utilidades de la biblioteca estándar.
  • Range-over-function iterators (iter.Seq y iter.Seq2) para construir iteradores personalizados consumibles con for range.
  • Loop variable scoping fix: cada iteración crea su propia variable, eliminando la captura accidental en goroutines y closures dentro de bucles.
  • Weak pointers en el paquete weak para mantener referencias opcionales sin impedir al recolector liberar la memoria.
  • Testing syntest con el paquete testing/synctest para escribir tests deterministas de código concurrente y con tiempo.
  • GC mejorado con barridos concurrentes más granulares y menor latencia.
  • Workspaces con go.work para desarrollar varios módulos locales sin publicar versiones intermedias.
  • Logging estructurado con log/slog como estándar de facto en servicios.
  • Paquete cmp con cmp.Compare, cmp.Or y cmp.Ordered como restricción genérica reutilizable.

Bibliotecas estándar ricas

La biblioteca estándar de Go es extensa y bien diseñada, ofreciendo paquetes para tareas comunes como manejo de archivos, networking, criptografía y servicios web, lo que reduce la necesidad de dependencias externas.

Diferencias con otros lenguajes

Comparación con C y C++

  • Simplicidad: Go evita características complejas como herencia múltiple, plantillas y punteros aritméticos, lo que simplifica el proceso de desarrollo.
  • Seguridad de memoria: Go previene muchos errores comunes de C/C++ relacionados con la gestión manual de memoria.
  • Concurrencia integrada: A diferencia de C/C++, Go proporciona primitivas de concurrencia a nivel de lenguaje.

Comparación con Java

  • Sin máquina virtual: Go compila a código máquina nativo, eliminando la necesidad de una máquina virtual y mejorando el rendimiento.
  • Modelo de concurrencia: Go utiliza gorutinas y canales en lugar de hilos pesados y mecanismos de sincronización más complejos.
  • Sintaxis y estructura: Go carece de jerarquías de clases y utiliza composiciones sobre la herencia clásica, resultando en un diseño más plano y modular.

Comparación con Python

  • Rendimiento: Go es significativamente más rápido debido a su compilación a código nativo.
  • Tipado estático: A diferencia del tipado dinámico de Python, Go utiliza tipado estático, lo que permite detectar errores en tiempo de compilación.
  • Concurrencia: Go maneja la concurrencia de manera más eficiente y segura que Python, especialmente en aplicaciones de red y sistemas distribuidos.

Ejemplo de código: servidor web simple

A continuación se presenta un ejemplo de un servidor web básico en Go:

package main

import (
    "fmt"
    "log"
    "net/http"
)

func escribeHolaHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hola, mundo!")
}

func main() {
    http.HandleFunc("/", escribeHolaHandler)
    log.Println("Servidor escuchando en el puerto 8080")
    if err := http.ListenAndServe(":8080", nil); err != nil {
        log.Fatalf("Error iniciando el servidor: %v", err)
    }
}

Este código inicia un servidor HTTP que responde "Hola, mundo!" a cualquier solicitud en la raíz (/). Utiliza el paquete net/http de la biblioteca estándar, demostrando la sencillez con la que se pueden crear servicios web en Go.

Casos de uso comunes

  • Desarrollo de APIs y servicios web: Gracias a su rendimiento y biblioteca estándar, Go es ideal para construir microservicios y APIs RESTful.
  • Herramientas de red y sistemas distribuidos: El soporte nativo para concurrencia y networking hace que Go sea adecuado para desarrollar proxies, balanceadores de carga y otros componentes de infraestructura.
  • Aplicaciones de alto rendimiento: Proyectos que requieren eficiencia y escalabilidad pueden beneficiarse del modelo de concurrencia de Go y su ejecución rápida.
  • Desarrollo de herramientas y utilidades: La rapidez en compilación y ejecución de Go lo hace apropiado para crear herramientas de línea de comandos y utilidades del sistema.

Gestión de dependencias

Go utiliza módulos para la gestión de dependencias. Los módulos se declaran con un fichero go.mod que fija el nombre, la versión mínima de Go y el conjunto de dependencias con versiones semánticas exactas, facilitando la reproducibilidad y el control del entorno de construcción. El fichero complementario go.sum contiene los hashes de integridad de cada dependencia.

El sistema incorpora workspaces con go.work: un fichero que permite referenciar varios módulos locales (use ./modulo-a, use ./modulo-b) y trabajar sobre una librería y sus consumidores sin publicar versiones intermedias ni usar directivas replace. La directiva toolchain declara la versión mínima de la cadena de herramientas y permite actualizaciones automáticas coherentes.

Comunidad y ecosistema

La comunidad de Go es activa y creciente. Existen numerosos paquetes de terceros disponibles a través de repositorios como pkg.go.dev, y se organizan conferencias y encuentros regularmente. Además, compañías importantes como Google, Docker y Kubernetes utilizan Go en sus proyectos.

¿Necesitas un itinerario completo?

Este curso puede formar parte de una carrera profesional que combine varias tecnologías. Explora nuestros itinerarios o te diseñamos uno a medida para tu equipo.

Plan formativo de Go para tu equipo

Recibe una propuesta concreta: modalidad, alcance, calendario y evidencias FUNDAE exportables. Damos de alta a tu equipo, configuramos la plataforma con tus dominios y entregamos certificados verificables e informes para tu entidad organizadora. Sin coste de setup, sin permanencia.

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Formación en Go: preguntas frecuentes

¿La formación en Go para empresas es bonificable por FUNDAE?
Puede ser bonificable cuando la acción cumple los requisitos aplicables. La plataforma aporta evidencias técnicas: seguimiento de tiempos, registro de conexiones, foros, encuestas y certificados para que tu entidad organizadora o gestoría revise la documentación.
¿En qué modalidades se imparte la formación en Go?
En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
¿Se adapta el temario de Go al nivel de mi equipo?
Sí. Ajustamos el itinerario de Go al nivel y al stack de tu equipo, con ejercicios evaluados por IA y certificado verificable. La activación corporativa se acuerda durante la fase de propuesta.
¿Cómo se evalúa a los alumnos?
Con ejercicios corregidos automáticamente por IA (test, puzle, código, proyecto y ensayo), detección de entregas generadas con IA y certificados verificables por URL.