Artículos

  • Generales 0

    JSON en Go: Marshal, Unmarshal y struct tags para mapear campos

    Aprende a serializar y deserializar JSON en Go con json.Marshal y json.Unmarshal. Cubre struct tags para mapear campos, opciones omitempty y json ignorado, tipos anidados, json.Decoder para peticiones HTTP, tipos personalizados con MarshalJSON y map string interface para claves desconocidas.

  • Generales 0

    io y bufio en Go: leer y escribir ficheros de forma eficiente

    Aprende a leer y escribir ficheros en Go con los paquetes os, bufio e io. os.ReadFile, os.WriteFile, bufio.Scanner para leer línea a línea, bufio.Writer con Flush, io.Copy y filepath.Join con ejemplos reales y errores frecuentes.

  • Generales 0

    Testing en Go: go test, tabla de tests y subtests

    Aprende a usar el paquete testing de Go: ficheros _test.go, funciones TestXxx, t.Error y t.Fatal, table-driven tests, subtests con t.Run, go test -run y -v, testing HTTP con httptest, t.Helper y TestMain. Con ejemplos prácticos progresivos.

  • Generales 0

    Benchmarks en Go: medir rendimiento con testing.B

    Aprende a usar testing.B en Go para medir el rendimiento real de tu código: el bucle b.N, los flags -bench y -benchmem, cómo interpretar ns/op, B/op y allocs/op, ResetTimer para excluir el setup y pprof para profiling detallado. Cuatro ejemplos con comparativas reales.

  • Generales 0

    Generics en Go 1.18+: funciones y tipos genéricos con type constraints

    Go 1.18 introdujo los generics en el lenguaje: escribe funciones y tipos que funcionan con varios tipos sin duplicar código ni perder la seguridad del compilador. Aprende constraints como comparable, tipos genéricos, el paquete slices y cuándo elegir generics frente a interfaces.

  • Generales 0

    go vet, gofmt y staticcheck: calidad de código Go desde el terminal

    Aprende a usar gofmt, goimports, go vet y staticcheck para mantener tu código Go limpio desde el terminal. Cuatro ejemplos de errores reales detectados, configuración de golangci-lint y cómo añadir un pre-commit hook para automatizarlo todo.

  • Generales 0

    Goroutines vs threads: por qué Go escala mejor en concurrencia

    Las goroutines de Go arrancan con apenas 2-8 KB de stack frente a los 1-8 MB fijos de un OS thread. Te explicamos el scheduler M:N, el work stealing y GOMAXPROCS, y por qué puedes lanzar 100.000 goroutines en un portátil sin agotar la memoria, con cuatro ejemplos y métricas reales.

  • Generales 0

    Go vs Rust en 2026: cuándo elegir cada lenguaje para backend y sistemas

    Comparativa práctica entre Go y Rust en 2026: cuándo usar cada lenguaje según el tipo de proyecto. Rendimiento, productividad, concurrencia y casos de uso reales para microservicios, sistemas, WebAssembly y latencia crítica.

  • Generales 0

    A Swift Tour: un recorrido por el lenguaje en un único fichero de código

    Recorrido completo por la sintaxis de Swift en un único artículo: constantes, tipos, string interpolation, arrays, control de flujo, funciones con etiquetas, structs, protocolos, enums con associated values y manejo de errores. Todo con código que compila en Swift 5.9+.

  • Generales 0

    Tipos, constantes y variables en Swift: let, var y type inference

    Aprende a declarar constantes con let y variables con var en Swift, cuándo usar cada uno y por qué preferir let por defecto. Type inference, anotaciones explícitas, tipos numéricos, conversiones explícitas, typealias y literales en decimal, binario, octal y hexadecimal con ejemplos reales.