Volver al blog

Go vs Rust en 2026: comparación honesta para backend

Go es la opción correcta por defecto para backend en 2026. Esta comparación cubre concurrencia, ecosistema, salarios, curva de aprendizaje y casos reales de Discord, Cloudflare y AWS, con una fuente primaria para cada afirmación.

Go vs Rust en 2026: comparación honesta para backend

Última actualización: 29 de abril de 2026

Go vs Rust de un vistazo

AspectoGo (Golang)Rust
RendimientoExcelente para I/O. Suficientemente rápido para casi cualquier trabajo de CPU.Algo más rápido en bucles numéricos intensivos.
Modelo de memoriaPausas de GC por debajo del milisegundo con el recolector Green Tea. No gestionas la memoria tú mismo.Ownership y borrowing. Sin GC, pero tienes que razonar sobre lifetimes en todas partes.
ConcurrenciaGoroutines y channels con un scheduler expropiativo. Sin palabra clave async y sin coloreado de funciones.Futures de Tokio y async cooperativo. Tienes que lidiar con async, pinning y la seguridad ante cancelación.
Curva de aprendizajeProductivo en una semana. 25 palabras clave y una forma obvia de hacer casi todo.Meses. Borrow checker, lifetimes, trait bounds, Pin, Send/Sync.
Tiempos de compilaciónSegundos, con builds incrementales por debajo del segundo.Minutos en builds limpios y de CI.
EcosistemaDomina el cloud-native: Kubernetes, Docker, Terraform, Prometheus, todos los SDK de nube.Stack async sólido (Axum, Tokio). Menor cobertura de SDK.
Mercado laboralMucho más grande, con demanda en cloud, fintech, infraestructura y devtools.Más pequeño, y concentrado en sistemas y cripto.
Ideal paraAPIs CRUD, microservicios, planos de control, CLIs, herramientas cloud-native. La mayor parte de lo que vas a construir.Proxies, hipervisores, bases de datos, códecs, sistemas embebidos.
Evítalo paraTiempo real estricto, trabajo de kernel.La mayoría de backends CRUD y MVPs de iteración rápida.

Go sale por delante en casi todo lo que un equipo de backend optimiza. Las ventajas de Rust importan en una pequeña parte del trabajo de sistemas.

¿Debería elegir Go o Rust?

flowchart TD
    Start(["`**Building a backend service in 2026**`"])
    Start --> Q{"`Systems-level software?`"}

    Q -->|"`**No** — 90%+ of backend work`"| Go(["`**Go**`"])
    Q -->|"`**Yes** — a narrow strip`"| Rust(["`**Rust**`"])

    Go --> GoUse["`**What you build**
    ─────────────
    CRUD APIs
    Microservices
    Control planes
    CLIs and operators
    Cloud-native tooling
    gRPC services`"]
    GoUse --> GoProof["`**Shipping in production**
    ─────────────
    Kubernetes · Docker
    Terraform · etcd
    Prometheus · Grafana
    CockroachDB · Caddy
    Tailscale · containerd

    Backends at Uber, Netflix,
    Cloudflare, Twitch, Monzo`"]

    Rust --> RustUse["`**What you build**
    ─────────────
    Hypervisors
    Hot-path proxies
    Database engines
    Codecs and crypto
    Sub-ms tail latency`"]
    RustUse --> RustProof["`**Shipping in production**
    ─────────────
    Cloudflare Pingora
    AWS Firecracker
    Discord Read States
    Polkadot
    Linkerd2-proxy`"]

    classDef start fill:#0b2942,color:#d6deeb,stroke:#1d3b53,stroke-width:1px,rx:8,ry:8
    classDef question fill:#0b2942,color:#d6deeb,stroke:#1d3b53,stroke-width:2px
    classDef goPick fill:#00ADD8,color:#011627,stroke:#5DC9E2,stroke-width:3px
    classDef goPanel fill:#0b2942,color:#d6deeb,stroke:#00ADD8,stroke-width:2px,rx:6,ry:6
    classDef rustPick fill:#CE3263,color:#fff,stroke:#ef5350,stroke-width:3px
    classDef rustPanel fill:#0b2942,color:#d6deeb,stroke:#CE3263,stroke-width:2px,rx:6,ry:6

    class Start start
    class Q question
    class Go goPick
    class GoUse,GoProof goPanel
    class Rust rustPick
    class RustUse,RustProof rustPanel

    linkStyle 0 stroke:#7a8fa3,stroke-width:1.5px
    linkStyle 1 stroke:#00ADD8,stroke-width:2.5px
    linkStyle 2 stroke:#CE3263,stroke-width:2.5px
    linkStyle 3 stroke:#00ADD8,stroke-width:2.5px
    linkStyle 4 stroke:#00ADD8,stroke-width:2.5px
    linkStyle 5 stroke:#CE3263,stroke-width:2.5px
    linkStyle 6 stroke:#CE3263,stroke-width:2.5px

La mayor parte del trabajo de backend cae del lado de Go. La rama de Rust cubre un conjunto estrecho y bien definido de sistemas.

En internet, el debate Go vs Rust suele plantearse como si los dos lenguajes compitieran por los mismos proyectos. En general no es así. Go se diseñó para el trabajo de backend distribuido y concurrente, que es de lo que está hecha la mayor parte de la infraestructura moderna. Rust se diseñó para la programación de sistemas, el terreno que antes dominaban C y C++.

Este artículo te ayuda a averiguar en qué lado está tu proyecto y por qué casi todos los equipos de backend de 2026 acaban del lado de Go. Cuando existe una fuente primaria, está enlazada en el propio texto para que puedas comprobar la cifra tú mismo.

Índice


La respuesta corta

Para backend, elige Go por defecto. Esto es lo que obtienes:

  • Entregas más rápidas. Las nuevas incorporaciones aportan cambios significativos en su primera semana.
  • Contratación más fácil, porque la cantera de talento en Go es mucho mayor que la de Rust.
  • Buena concurrencia sin ceremonias. Goroutines, channels y context cubren casi todo lo que necesitas.
  • El stack cloud-native dominante. Kubernetes, Docker, Terraform y Prometheus están escritos en Go, y todos los grandes proveedores de nube publican su SDK en Go.
  • Un runtime lo bastante rápido como para que dejes de pensar en él.

Recurre a Rust solo cuando tengas una necesidad estricta y duradera de latencia de cola predecible por debajo de los 10 ms, huellas de memoria muy pequeñas o abstracciones de coste cero sobre el hardware. Eso significa proxies, bases de datos, hipervisores, agentes embebidos y códecs. No significa otro servicio HTTP más.

Rendimiento: ¿es Rust más rápido que Go en 2026?

La mayoría de los servicios de backend están limitados por I/O. Pasan el tiempo esperando a la base de datos, a la red o al serializador, así que el runtime rara vez es el cuello de botella.

En trabajo intensivo de CPU como el parsing, la compresión y la criptografía, Rust puede tomar ventaja, sobre todo en bucles numéricos con inlining y sin comprobaciones de límites. El trabajo de CPU que hace un servicio de backend típico es JSON, protobuf, hashing y regex. El compilador y la biblioteca estándar de Go están bien optimizados para eso, y en producción la diferencia suele ser demasiado pequeña para notarla.

Ten cuidado con el benchmark del «10x». La cifra estrella de la reescritura de Aurora DSQL en AWS (Werner Vogels: «Simplemente haz que escale») compara Kotlin sobre la JVM con Rust, en un plano de control que chocaba con los límites de calentamiento y de GC de la JVM. No es una cifra de Go vs Rust, y migrar un servicio escrito en Go no te va a dar nada parecido a ese multiplicador.

Las últimas versiones de Go siguen reduciendo la distancia donde importa:

Go también gestiona bien las asignaciones. El compilador hace un análisis de escape agresivo, así que mucho de lo que parece una asignación en el heap acaba en la pila, donde es barata. El Go idiomático que usa sync.Pool, strings.Builder y slices preasignados es eficiente.

example.gogo
package main

import (
    "fmt"
    "strings"
)

func main() {
    parts := []string{"go", "is", "fine", "for", "most", "things"}
    var b strings.Builder
    for _, p := range parts {
        b.WriteString(p)
        b.WriteString(" ")
    }
    fmt.Println(strings.TrimSpace(b.String()))
}

El equivalente en Rust también funciona. Eso sí, lo pagas por adelantado, pensando en lifetimes y ownership en cada línea, incluidas las líneas donde no importa:

example.rustrust
fn main() {
    let parts = ["rust", "is", "strict", "but", "predictable"];
    let mut s = String::with_capacity(64);
    for p in parts {
        s.push_str(p);
        s.push(' ');
    }
    println!("{}", s.trim_end());
}

Qué lenguaje es más rápido importa menos que si es lo bastante rápido como para dejar de pensar en ello. Para backend, Go lo es. Cuando no lo sea, haz profiling antes de nada. El cuello de botella casi siempre es una consulta a la base de datos o una llamada N+1, no el runtime.

Gestión de memoria: el GC de Go vs el ownership de Rust

El argumento de Rust aquí es el determinismo. La memoria se libera cuando termina el ownership (propiedad), así que no hay recolector en segundo plano ni presupuesto de heap que ajustar. El precio es que tienes que razonar sobre lifetimes en todas partes, incluso en código que sería seguro sin hacerlo.

El GC de Go es muy bueno. Tras años de uso en producción, y ahora con el recolector Green Tea, las pausas por debajo del milisegundo en heaps de varios gigabytes son lo normal. En servicios corrientes que se ejecutan en VMs de larga duración no lo vas a notar, ya sea una API CRUD, un plano de control o un microservicio.

El caso de Discord es real, pero acotado. El servicio Read States de Discord mantenía millones de entradas en una caché LRU en memoria, y la versión en Go sufría picos de latencia cada vez que el GC recorría esa caché. La reescritura en Rust acabó con los picos (Ingeniería de Discord: por qué Discord está cambiando de Go a Rust).

Los propios ingenieros de Discord señalan los límites en el mismo artículo:

  • Fue un servicio concreto funcionando a una escala extrema.
  • El resto del backend de Discord sigue siendo Go.
  • El artículo dice «Go served us well» («Go nos ha servido bien») tal cual.

En las cargas de trabajo que ejecutan la mayoría de los equipos (APIs CRUD, microservicios, planos de control, CLIs), el GC de Go no va a aparecer en tus trazas. El modelo de memoria de Rust solo sale ganando con cachés en memoria muy grandes, presupuestos de latencia de cola muy ajustados o despliegues edge densos donde la memoria escasea.

Concurrencia: goroutines vs Tokio

Esta es la diferencia más profunda entre los dos lenguajes, y es donde los argumentos a favor de Go como opción por defecto son más claros.

El modelo de Go es stackful y expropiativo.

  • Cada goroutine tiene su propia pila, que puede crecer.
  • El runtime puede pausar una goroutine para ejecutar otra.
  • Escribes código bloqueante y el runtime lo hace concurrente.
  • No hay palabra clave async, ni coloreado de funciones, ni rompecabezas de seguridad ante cancelación.
  • Las goroutines son baratas, así que puedes lanzar miles.

Si las goroutines son nuevas para ti, Go Concurrency Fundamentals explica go, los channels, select y la cancelación con context mediante ejemplos que puedes ejecutar.

example.gogo
package main

import (
    "fmt"
    "sync"
    "time"
)

func main() {
    var wg sync.WaitGroup
    for i := 0; i < 5; i++ {
        wg.Add(1)
        go func(id int) {
            defer wg.Done()
            time.Sleep(10 * time.Millisecond)
            fmt.Printf("worker %d done\n", id)
        }(i)
    }
    wg.Wait()
}

El modelo de Rust es stackless y cooperativo.

  • Las funciones async devuelven Futures, y un executor (casi siempre Tokio) se encarga de ejecutarlos.
  • El coloreado de funciones hace que una async fn se extienda a todos los que la llaman.
  • Aprendes Pin, los lifetimes a través de .await y la seguridad ante cancelación a base de golpes.
  • Qué debería pasar cuando se descarta un future a mitad de un await sigue siendo un tema en debate activo (Cancelar async en Rust, Oxide RFD 400).
example.rustrust
use tokio::time::{sleep, Duration};

#[tokio::main]
async fn main() {
    let mut handles = vec![];
    for i in 0..5 {
        handles.push(tokio::spawn(async move {
            sleep(Duration::from_millis(10)).await;
            println!("worker {i} done");
        }));
    }
    for h in handles {
        h.await.unwrap();
    }
}

Por qué las goroutines son la opción correcta por defecto para backend:

  • Coinciden con la forma en que los programadores ya piensan el trabajo en paralelo.
  • Se componen sin coloreado de funciones.
  • Lanzar tareas, esperar y recoger resultados lleva unas pocas líneas obvias en lugar de un rompecabezas de lifetimes.
  • El race detector de Go detecta condiciones de carrera cuando se ejecutan tus tests. Así obtienes la mayor parte de la seguridad sin la sobrecarga del sistema de tipos.
  • go, channels, sync, context y el race detector, juntos, hacen funcionar algunos de los sistemas concurrentes más grandes en producción, como Kubernetes, Docker y etcd.

Para conocer los patrones de concurrencia que suelen pillar desprevenidos a los equipos en producción, consulta 10 errores comunes en Go que debes evitar.

Cuando de verdad necesitas ese control, el async de Rust es la herramienta más potente. Lo pagas en cada línea, lo uses o no, y los servicios de backend normalmente no lo necesitan.

Curva de aprendizaje: ¿es Rust más difícil que Go?

Go es pequeño a propósito. Tiene 25 palabras clave, una biblioteca estándar compacta y, normalmente, una forma obvia de hacer las cosas. Las nuevas incorporaciones leen el código existente y hacen cambios significativos en su primera semana. Esa rapidez de onboarding es una ventaja de negocio infravalorada, y vuelve a dar frutos con cada persona que contratas.

Rust es grande a propósito. El borrow checker, los lifetimes, los trait bounds, Pin, Send/Sync y la semántica async son el precio de entrada, no extras opcionales. Cuando un equipo supera esa cuesta inicial, el compilador se convierte en un compañero útil de pair programming. Pero la cuesta es real, y los equipos la pagan con un periodo de adaptación más largo, revisiones más lentas y tiempo peleando con los tipos en lugar de entregar funcionalidades.

La diferencia también se ve en la code review. Los pull requests de Rust suelen ser más largos y se revisan con más cuidado. Los de Go suelen ser más pequeños y avanzan más rápido. Si a tu equipo le importa entregar, depurar en producción e incorporar ingenieros con rapidez, el modelo de productividad de Go es difícil de superar.

El curso Go Generics Masterclass muestra más o menos dónde toca techo la complejidad de Go: parámetros de tipo, restricciones y patrones genéricos autorreferenciales. Eso es aproximadamente el código más complejo que vas a escribir en Go idiomático.

Tiempos de compilación: velocidad de build de Go vs Rust

Un servicio mediano en Go compila en segundos, y los builds incrementales suelen terminar en menos de un segundo. Rust es mucho más lento, sobre todo en builds limpios y en CI basada en Docker.

El equipo de Rust ha seguido mejorándolo, y el nuevo trait solver y el front-end paralelo llegaron en versiones recientes. La diferencia sigue siendo grande.

Esto importa sobre todo a los equipos que entregan muchos servicios pequeños e iteran rápido. Con builds rápidos ejecutas los tests más a menudo, haces push más a menudo y mantienes cortos los ciclos de feedback. Con Rust esperas, y la espera cambia la forma de trabajar.

Ecosistema y frameworks

Ambos ecosistemas son maduros en 2026, de formas distintas.

El ecosistema web de Go se ha asentado y se ha probado a fondo en producción.

  • El paquete net/http de la biblioteca estándar recibió mejoras importantes de enrutamiento en la versión 1.22 y sigue mejorando. Muchos servicios no necesitan ningún framework.
  • database/sql con pgx para PostgreSQL es la opción aburrida y correcta para el acceso a datos.
  • Entre los frameworks, el informe de JetBrains sobre el ecosistema de Go en 2025 sitúa a Gin en torno al 48 %, a Echo en torno al 16 % y a Fiber en torno al 11 %.
  • slog y el SDK de OpenTelemetry te dan logs estructurados, métricas y trazas con muy poca configuración.

El ecosistema web de Rust se ha asentado en Axum, que mantiene el equipo de Tokio y que es el framework web de Rust más usado según encuestas recientes. Actix Web sigue siendo popular para código sensible al rendimiento, y SQLx y SeaORM son las principales opciones para el acceso a bases de datos.

La ventaja de Go está en la amplitud. Los SDK de nube, las bibliotecas nativas de Kubernetes y los operators salen primero en Go, así que si quieres un SDK de primera clase para un gran proveedor de nube desde el primer día, la respuesta es Go. Rust se ha puesto al día en las piezas que más importan, pero la ventaja de Go es real y se mantiene.

Casos de estudio reales

La mayor parte de la conversación en internet gira en torno a un puñado de reescrituras en Rust muy mediáticas. El panorama cambia cuando cuentas los sistemas que sostienen buena parte del internet moderno sin salir en los titulares.

Donde Go sostiene la nube

El stack cloud-native está escrito en Go: Kubernetes, Docker, containerd, etcd, Terraform, Prometheus, Grafana, CockroachDB, InfluxDB, Caddy, Traefik, Hugo, Gitea y Tailscale. También lo están los microservicios que hay detrás de Uber, Twitch, Netflix, Cloudflare, Dropbox, Mercari y Monzo.

Estos proyectos eligieron Go por la velocidad de entrega, la facilidad para incorporar colaboradores, una concurrencia predecible y un rendimiento lo bastante rápido. Gestionan tráfico a escala de internet todos los días. Es la parte aburrida del panorama, y con diferencia la más grande.

Golang vs Rust: empleos y salarios en 2026

Los datos salariales varían mucho según la fuente. Estas son las cifras que aparecieron de forma constante a principios de 2026.

FuenteMedia reportada de Go (EE. UU.)Media reportada de Rust (EE. UU.)Notas sobre la muestra
Salary.com~135.000 USD~140.000 USDMediana nacional para todos los niveles de experiencia
Glassdoor~120.000 USD base~120.000 USD baseSalario base reportado para nivel intermedio
ZipRecruiter~125.000 USD~135.000 USDA partir de ofertas de empleo abiertas
Payscale~117.000 USD~130.000 USDMedias por habilidad etiquetada
Jobicy~130.000 USD~147.000 USDMuestra con mucho trabajo remoto

Última comprobación: 29 de abril de 2026. Toma los rangos como orientativos, no como definitivos.

En conjunto:

  • Los salarios de Go están aproximadamente entre 120.000 y 135.000 USD.
  • Los salarios de Rust están aproximadamente entre 110.000 y 147.000 USD. La dispersión es mayor porque la muestra es más pequeña.
  • Rust sigue pagando una prima, pero es menor que en 2022, y refleja sobre todo la escasez de perfiles más que una mayor productividad de los ingenieros.

La demanda importa más que el salario. Las ofertas de empleo de Go superan de forma constante y por mucho a las de Rust en todos los grandes portales, y casi todas las empresas cloud-native, fintech y de herramientas de infraestructura usan Go en producción.

En cuanto a la opinión de los desarrolladores, la Encuesta para desarrolladores de Stack Overflow 2025 sitúa a Rust cerca de lo alto de «más admirados» y a Go en la parte superior de la tabla. Ambos lenguajes tienen usuarios contentos, pero Go tiene un mercado laboral mucho mayor.

Si estás eligiendo qué aprender, Go es la mejor primera apuesta para casi todo el mundo. El mercado laboral es mucho más grande, llegas antes a ser empleable y trabajas directamente con el stack cloud-native dominante. El curso Go Fundamentals de LevelUpGo es un buen lugar para empezar.

Cuándo usar Go vs Rust: marco de decisión

Elige Go cuando (esto cubre la mayor parte del trabajo de backend):

  • Estás construyendo un servicio CRUD, una API o un microservicio.
  • Estás construyendo un plano de control, una CLI o una herramienta para desarrolladores.
  • Tu equipo es pequeño, tiene experiencia desigual o está contratando rápido.
  • El tiempo de salida al mercado importa, aunque sea un poco.
  • Entregas muchos servicios y valoras iterar rápido.
  • Quieres herramientas de primera clase para Kubernetes, SDK de nube, gRPC u operators.
  • Necesitas una concurrencia sólida sin que el sistema de tipos async se convierta en un proyecto en sí mismo.
  • Tu presupuesto de rendimiento tiene margen medido en milisegundos. (Casi siempre lo tiene.)

Elige Rust cuando (un conjunto más pequeño y específico de casos):

  • La latencia de cola predecible por debajo de los 10 ms es un requisito estricto (proxies, trading, sistemas de tiempo real).
  • La huella de memoria tiene que ser mínima (edge workers, sistemas embebidos, sidecars densos).
  • Estás escribiendo un motor de base de datos, un runtime, un compilador, un hipervisor o un componente del kernel.
  • El trabajo es cómputo intensivo de CPU (códecs, criptografía, parsers, inferencia de ML).
  • Puedes permitirte un periodo de adaptación más largo y tienes ingenieros sénior que acompañen al equipo durante ese proceso.

Usa ambos cuando operas a escala

Un patrón habitual en 2026 es Go para los servicios de aplicación y los planos de control, con Rust reservado para los componentes del plano de datos en la ruta crítica. Los dos se comunican sin fricción mediante gRPC, colas de mensajes compartidas o FFI cuando hace falta.

Preguntarte qué lenguaje gana no te va a servir de mucho. Pregúntate qué necesita este servicio concreto y qué lenguaje te lleva ahí con el menor coste total a cinco años. Para la gran mayoría de los servicios de backend, ese lenguaje es Go.

Preguntas frecuentes

¿Es Rust más rápido que Go?

En microbenchmarks intensivos de CPU, Rust suele ser algo más rápido, desde un porcentaje de un solo dígito hasta el doble en bucles numéricos. En servicios de backend reales que esperan a bases de datos y a la red, la diferencia suele desaparecer, y Go es lo bastante rápido como para que el runtime rara vez sea lo que te limita.

¿Debería aprender Go o Rust en 2026?

Aprende Go. El mercado laboral es mucho más grande, el lenguaje es lo bastante pequeño como para que seas productivo en una semana y el stack cloud-native funciona sobre él (Kubernetes, Docker, Terraform, Prometheus y todos los grandes SDK de nube). Rust es un buen segundo lenguaje más adelante si quieres trabajar a nivel de sistemas.

¿Es mejor Go o Rust para el desarrollo backend?

Go. Es la opción correcta por defecto para casi todo el trabajo de backend en 2026, incluidos servicios CRUD, microservicios, planos de control y APIs. Rust solo es la mejor opción para un conjunto acotado de cargas de trabajo a nivel de sistemas donde importan la latencia determinista o una huella de memoria mínima.

¿Por qué Discord cambió de Go a Rust?

Discord reescribió un servicio concreto, Read States, porque el GC de Go provocaba picos de latencia al recorrer una caché en memoria muy grande con millones de entradas. La reescritura quitó esos picos. La mayor parte del backend de Discord sigue siendo Go, y los ingenieros de Discord lo dicen en el artículo original.

¿Está Rust reemplazando a Go?

No. Rust está reemplazando a C y C++ en trabajo de sistemas donde el rendimiento es crítico, como proxies e hipervisores. Go sigue dominando la infraestructura cloud-native, los microservicios de backend y las herramientas para desarrolladores, y las ofertas de empleo, la actividad open source y la amplitud del ecosistema muestran que su presencia sigue creciendo.

¿Se pueden usar Go y Rust juntos?

Sí. La mayoría de las grandes organizaciones que usan ambos ejecutan Go para los servicios de aplicación y Rust para los componentes del plano de datos en la ruta crítica, conectados mediante gRPC, colas de mensajes compartidas o FFI. Poner la frontera sobre un protocolo de red estable suele ser más fácil que incrustar un runtime dentro del otro.

¿Qué tiene más ofertas de empleo, Go o Rust?

Go, y por mucho. Casi todas las empresas cloud-native, fintech y de herramientas de infraestructura usan Go en producción. Los puestos de Rust se concentran en programación de sistemas, blockchain y un puñado de empresas muy conocidas como AWS, Cloudflare y Discord.

¿Es Go más fácil de aprender que Rust?

Sí, mucho más. Go tiene 25 palabras clave, una biblioteca estándar pequeña y una cultura de «una forma obvia de hacerlo», y la mayoría de los ingenieros ya contribuyen de forma productiva en su primera semana. Rust te pide aprender el borrow checker, lifetimes, trait bounds y la semántica async antes de poder construir algo no trivial.

Fuentes

Fuentes primarias citadas en este artículo (última verificación: 29 de abril de 2026):

Sigue aprendiendo

Si te has decidido por Go, el curso Go Fundamentals de LevelUpGo te lleva de package main a un servicio listo para producción con lecciones interactivas que compilan y se ejecutan en el navegador con la última toolchain de Go.

Cuando la concurrencia empiece a importar, Go Concurrency Fundamentals cubre goroutines, channels, select y la cancelación con context. Go Generics Masterclass cubre los parámetros de tipo y las restricciones cuando los necesites.

Para tu portfolio, los cursos de proyecto final y de proyectos te hacen construir servicios completos:

Para seguir leyendo: ¿Cuál es el mejor lenguaje de programación para backend?, 10 errores comunes en Go que debes evitar y Novedades de Go 1.26.

Escribe Go como un ingeniero sénior

Lecciones interactivas en tu navegador. Las primeras son gratis.

Prueba una lección gratisO crea una cuenta gratuita