Bibliothèque de Codes QR Go

Générer des Codes QR avec Go

Go est idéal pour la génération de codes QR haute performance dans les microservices et outils CLI. Utilisez la bibliothèque go-qrcode pour la génération locale ou l'API QRCode.fun pour des sorties stylisées.

Installation

Installez la bibliothèque de codes QR Go avec go get.

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

Générer des Codes QR avec Go

Exemples de code utilisant la bibliothèque 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

Générer des Codes QR via API en Go

Appelez l'API QRCode.fun depuis Go pour générer des codes QR stylisés.

Intégration 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]))
}

Aperçu du Code QR en Direct

Essayez de générer un code QR avec Go maintenant.

Aperçu QR

Bibliothèque Native vs API

Comparez l'utilisation d'une bibliothèque de codes QR Go avec l'API QRCode.fun.

FonctionnalitéBibliothèque NativeQRCode.fun API
Complexité de configurationgo get + importUne seule requête HTTP
PersonnalisationTaille, correction d'erreurStylisation complète : couleurs, formes, logos
Support hors ligneOuiNécessite internet
MaintenanceMettre à jour go.modToujours à jour
Formats de sortiePNGPNG, SVG

Cas d'Utilisation des Codes QR en Go

Scénarios courants pour les codes QR dans les applications Go.

Microservices

Générez des codes QR dans les microservices Go pour les réponses API, webhooks et architectures événementielles.

Outils CLI

Créez des utilitaires en ligne de commande qui génèrent des codes QR pour le partage Wi-Fi, le raccourcissement d'URL ou l'affichage en terminal.

Fonctions Cloud

Déployez la génération de QR comme fonctions serverless sur AWS Lambda ou Google Cloud Functions avec Go.

DevOps et Infrastructure

Générez des codes QR pour les URL de déploiement, tableaux de bord de monitoring et endpoints de configuration.

Plongée Approfondie dans l'Écosystème des Codes QR en Go

La simplicité et les performances de Go en font un choix idéal pour la génération de codes QR dans les environnements cloud-native et à haut débit.

Architecture Microservices avec Génération de QR

Go excelle dans la construction de microservices dédiés aux codes QR. Déployez un service HTTP léger utilisant net/http ou Gin qui accepte des paramètres QR et retourne des octets PNG. Le modèle de goroutines de Go gère des milliers de requêtes de génération QR concurrentes avec une mémoire minimale. Combinez avec gRPC pour la génération QR entre services internes, ou exposez une API REST derrière une API gateway pour les consommateurs externes.

Déploiement Docker et Kubernetes

La compilation en binaire unique de Go rend les services de génération QR triviaux à conteneuriser. Construisez une image Docker basée sur scratch de moins de 10MB incluant votre service QR sans aucune dépendance. Déployez sur Kubernetes avec un auto-scaling horizontal des pods basé sur l'utilisation CPU pendant les pics de génération QR. La bibliothèque go-qrcode n'a aucune dépendance CGO, assurant une compilation croisée propre pour les cibles linux/amd64 et linux/arm64.

Intégration avec la Bibliothèque Standard et Tests

La bibliothèque standard de Go complète parfaitement la génération de codes QR. Utilisez image/png et image/draw pour un rendu personnalisé au-delà de ce que fournit go-qrcode. Le package net/http sert les codes QR générés directement sans framework. Les outils intégrés de test et de benchmark de Go (go test -bench) vous permettent de mesurer le débit exact de génération — typiquement 5 000 à 10 000 codes QR par seconde par cœur pour les configurations standard.

Questions Fréquemment Posées

Questions courantes sur la génération de codes QR avec Go.

skip2/go-qrcode est la bibliothèque de codes QR Go la plus populaire. Elle génère des images PNG et supporte une taille configurable et des niveaux de correction d'erreur.

Explorez les Bibliothèques de Codes QR pour d'Autres Langages

Trouvez des guides de génération de codes QR et des exemples de code pour votre langage de programmation préféré.

Commencez à générer des codes QR avec Go

Utilisez notre générateur gratuit ou intégrez l'API dans vos services Go.