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 github.com/skip2/go-qrcodeGerar 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)
}Gerar Códigos QR via API em Go
Chame a API do QRCode.fun a partir de Go para gerar códigos QR estilizados.
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.
Biblioteca Nativa vs API
Compare o uso de uma biblioteca de códigos QR Go com a API do QRCode.fun.
| Funcionalidade | Biblioteca Nativa | QRCode.fun API |
|---|---|---|
| Complexidade de configuração | go get + import | Uma única requisição HTTP |
| Personalização | Tamanho, correção de erros | Estilização completa: cores, formas, logotipos |
| Suporte offline | Sim | Requer internet |
| Manutenção | Atualizar go.mod | Sempre atualizado |
| Formatos de saída | PNG | PNG, 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.
Comece a gerar códigos QR com Go
Use o nosso gerador gratuito ou integre a API nos seus serviços Go.