Biblioteca de Códigos QR em Go

Gere Códigos QR com Go

Go é ideal para geração de códigos QR de alto desempenho em microserviços e ferramentas CLI. Use a biblioteca go-qrcode para geração local ou a API do QRCode.fun para saídas estilizadas.

Instalação

Instale a biblioteca de códigos QR Go usando go get.

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

Gerar Códigos QR com Go

Exemplos de código usando a 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

Gerar Códigos QR via API em Go

Chame a API do QRCode.fun a partir de Go para gerar códigos QR estilizados.

Integração de API 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]))
}

Pré-visualização de Código QR ao Vivo

Experimente gerar um código QR com Go agora mesmo.

Pré-visualização QR

Biblioteca Nativa vs API

Compare o uso de uma biblioteca de códigos QR Go com a API do QRCode.fun.

FuncionalidadeBiblioteca NativaQRCode.fun API
Complexidade de configuraçãogo get + importUma única requisição HTTP
PersonalizaçãoTamanho, correção de errosEstilização completa: cores, formas, logotipos
Suporte offlineSimRequer internet
ManutençãoAtualizar go.modSempre atualizado
Formatos de saídaPNGPNG, SVG

Casos de Uso de Códigos QR em Go

Cenários comuns para códigos QR em aplicações Go.

Microserviços

Gere códigos QR em microserviços Go para respostas de API, webhooks e arquiteturas orientadas a eventos.

Ferramentas CLI

Construa utilitários de linha de comando que geram códigos QR para partilha de Wi-Fi, encurtamento de URL ou exibição no terminal.

Funções Cloud

Implemente a geração de QR como funções serverless no AWS Lambda ou Google Cloud Functions usando Go.

DevOps e Infraestrutura

Gere códigos QR para URLs de deployment, dashboards de monitoramento e endpoints de configuração.

Mergulho Profundo no Ecossistema de Códigos QR em Go

A simplicidade e performance do Go tornam-no ideal para geração de códigos QR em ambientes cloud-native e de alto throughput.

Arquitetura de Microsserviços com Geração de QR

Go destaca-se na construção de microsserviços dedicados a códigos QR. Implante um serviço HTTP leve usando net/http ou Gin que aceite parâmetros QR e retorne bytes PNG. O modelo de goroutines do Go lida com milhares de requisições concorrentes de geração de QR com memória mínima. Combine com gRPC para geração de QR entre serviços internos, ou exponha uma API REST atrás de um API gateway para consumidores externos.

Implantação Docker e Kubernetes

A compilação em binário único do Go torna os serviços de geração de QR triviais de containerizar. Construa uma imagem Docker baseada em scratch com menos de 10MB que inclua o seu serviço QR sem dependências. Implante no Kubernetes com auto-scaling horizontal de pods baseado no uso de CPU durante picos de geração de QR. A biblioteca go-qrcode não tem dependências CGO, garantindo compilação cruzada limpa para alvos linux/amd64 e linux/arm64.

Integração com Biblioteca Padrão e Testes

A biblioteca padrão do Go complementa perfeitamente a geração de códigos QR. Use image/png e image/draw para renderização personalizada além do que go-qrcode oferece. O pacote net/http serve códigos QR gerados diretamente sem framework. As ferramentas integradas de teste e benchmarking do Go (go test -bench) permitem medir o throughput exato de geração — tipicamente 5.000-10.000 códigos QR por segundo por núcleo para configurações padrão.

Perguntas Frequentes

Perguntas comuns sobre a geração de códigos QR com Go.

skip2/go-qrcode é a biblioteca de códigos QR Go mais popular. Gera imagens PNG e suporta tamanho configurável e níveis de correção de erros.

Explore Bibliotecas de Códigos QR para Outras Linguagens

Encontre guias de geração de códigos QR e exemplos de código para a sua linguagem de programação preferida.

Comece a gerar códigos QR com Go

Use o nosso gerador gratuito ou integre a API nos seus serviços Go.