Biblioteca de Códigos QR en Go

Genera Códigos QR con Go

Go es ideal para la generación de códigos QR de alto rendimiento en microservicios y herramientas CLI. Usa la biblioteca go-qrcode para generación local o la API de QRCode.fun para salidas estilizadas.

Instalación

Instala la biblioteca de códigos QR de Go usando go get.

go get
go get github.com/skip2/go-qrcode

Genera Códigos QR con Go

Ejemplos de código usando la biblioteca go-qrcode.

Basic QR Code Generation
package main

import "github.com/skip2/go-qrcode"

func main() {
    err := qrcode.WriteFile("https://qrcode.fun", qrcode.Medium, 256, "qrcode.png")
    if err != nil {
        panic(err)
    }
}
QR Code as Bytes (HTTP Handler)
package main

import (
    "net/http"
    "github.com/skip2/go-qrcode"
)

func qrHandler(w http.ResponseWriter, r *http.Request) {
    data := r.URL.Query().Get("data")
    if data == "" {
        data = "https://qrcode.fun"
    }

    png, err := qrcode.Encode(data, qrcode.Medium, 256)
    if err != nil {
        http.Error(w, err.Error(), 500)
        return
    }

    w.Header().Set("Content-Type", "image/png")
    w.Write(png)
}

func main() {
    http.HandleFunc("/qr", qrHandler)
    http.ListenAndServe(":8080", nil)
}
QRCode.fun API

Genera Códigos QR vía API en Go

Llama a la API de QRCode.fun desde Go para generar códigos QR estilizados.

Integración de API en Go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    payload := map[string]interface{}{
        "data":   "https://qrcode.fun",
        "width":  300,
        "height": 300,
        "type":   "png",
        "margin": 10,
        "dotsOptions": map[string]string{
            "color": "#1A2B3C",
            "type":  "rounded",
        },
        "cornersSquareOptions": map[string]string{
            "color": "#8564C3",
            "type":  "extra-rounded",
        },
        "backgroundOptions": map[string]string{
            "color": "#FFFFFF",
        },
    }

    body, _ := json.Marshal(payload)
    resp, err := http.Post(
        "https://qrcode.fun/api/generate-qr-styled",
        "application/json",
        bytes.NewBuffer(body),
    )
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    data, _ := io.ReadAll(resp.Body)
    fmt.Println(string(data[:100]))
}

Vista Previa de Código QR en Vivo

Prueba a generar un código QR con Go ahora mismo.

Vista previa QR

Biblioteca Nativa vs API

Compara el uso de una biblioteca de códigos QR en Go con la API de QRCode.fun.

CaracterísticaBiblioteca NativaQRCode.fun API
Complejidad de configuracióngo get + importUna sola solicitud HTTP
PersonalizaciónTamaño, corrección de erroresEstilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
MantenimientoActualizar go.modSiempre actualizado
Formatos de salidaPNGPNG, SVG

Casos de Uso de Códigos QR en Go

Escenarios comunes para códigos QR en aplicaciones Go.

Microservicios

Genera códigos QR en microservicios Go para respuestas de API, webhooks y arquitecturas basadas en eventos.

Herramientas CLI

Construye utilidades de línea de comandos que generan códigos QR para compartir Wi-Fi, acortar URLs o mostrar en terminal.

Funciones en la Nube

Despliega generación de QR como funciones serverless en AWS Lambda o Google Cloud Functions usando Go.

DevOps e Infraestructura

Genera códigos QR para URLs de despliegue, dashboards de monitoreo y endpoints de configuración.

Preguntas Frecuentes

Preguntas comunes sobre la generación de códigos QR con Go.

skip2/go-qrcode es la biblioteca de códigos QR más popular de Go. Genera imágenes PNG y soporta tamaño configurable y niveles de corrección de errores.

Comienza a generar códigos QR con Go

Usa nuestro generador gratuito o integra la API en tus servicios Go.