مكتبة Go لرمز QR

إنشاء رموز QR باستخدام Go

Go مثالية لإنشاء رموز QR عالية الأداء في الخدمات المصغرة وأدوات سطر الأوامر. استخدم مكتبة go-qrcode للإنشاء المحلي أو واجهة QRCode.fun API للمخرجات المُنسّقة.

التثبيت

قم بتثبيت مكتبة Go لرمز QR باستخدام go get.

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

إنشاء رموز QR باستخدام Go

أمثلة كود باستخدام مكتبة 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

إنشاء رموز QR عبر API في Go

استدعِ واجهة QRCode.fun API من Go لإنشاء رموز QR مُنسّقة.

تكامل Go API
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]))
}

معاينة رمز QR المباشرة

جرّب إنشاء رمز QR باستخدام Go الآن.

معاينة QR

المكتبة الأصلية مقابل API

مقارنة استخدام مكتبة Go لرمز QR مقابل واجهة QRCode.fun API.

الميزةالمكتبة الأصليةQRCode.fun API
تعقيد الإعدادgo get + importطلب HTTP واحد
التخصيصالحجم، تصحيح الأخطاءتنسيق كامل: ألوان وأشكال وشعارات
دعم عدم الاتصالنعميتطلب إنترنت
الصيانةتحديث go.modمحدّث دائماً
صيغ الإخراجPNGPNG, SVG

حالات استخدام Go لرمز QR

سيناريوهات شائعة لرموز QR في تطبيقات Go.

الخدمات المصغرة

إنشاء رموز QR في خدمات Go المصغرة لاستجابات API والويب هوك والبنى المعتمدة على الأحداث.

أدوات سطر الأوامر

بناء أدوات سطر أوامر لإنشاء رموز QR لمشاركة Wi-Fi واختصار الروابط والعرض في الطرفية.

الوظائف السحابية

نشر إنشاء QR كوظائف بدون خادم على AWS Lambda أو Google Cloud Functions باستخدام Go.

DevOps والبنية التحتية

إنشاء رموز QR لعناوين النشر ولوحات المراقبة ونقاط نهاية التكوين.

الأسئلة الشائعة

أسئلة شائعة حول إنشاء رموز QR باستخدام Go.

skip2/go-qrcode هي مكتبة Go الأكثر شيوعاً لرمز QR. تُنشئ صور PNG وتدعم حجماً ومستويات تصحيح أخطاء قابلة للتكوين.

ابدأ بإنشاء رموز QR باستخدام Go

استخدم مولدنا المجاني أو ادمج API في خدمات Go الخاصة بك.