إنشاء رموز QR باستخدام Go
Go مثالية لإنشاء رموز QR عالية الأداء في الخدمات المصغرة وأدوات سطر الأوامر. استخدم مكتبة go-qrcode للإنشاء المحلي أو واجهة QRCode.fun API للمخرجات المُنسّقة.
التثبيت
قم بتثبيت مكتبة Go لرمز QR باستخدام 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)
}إنشاء رموز QR عبر API في Go
استدعِ واجهة QRCode.fun API من Go لإنشاء رموز QR مُنسّقة.
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 الآن.
المكتبة الأصلية مقابل API
مقارنة استخدام مكتبة Go لرمز QR مقابل واجهة QRCode.fun API.
| الميزة | المكتبة الأصلية | QRCode.fun API |
|---|---|---|
| تعقيد الإعداد | go get + import | طلب HTTP واحد |
| التخصيص | الحجم، تصحيح الأخطاء | تنسيق كامل: ألوان وأشكال وشعارات |
| دعم عدم الاتصال | نعم | يتطلب إنترنت |
| الصيانة | تحديث go.mod | محدّث دائماً |
| صيغ الإخراج | PNG | PNG, SVG |
حالات استخدام Go لرمز QR
سيناريوهات شائعة لرموز QR في تطبيقات Go.
الخدمات المصغرة
إنشاء رموز QR في خدمات Go المصغرة لاستجابات API والويب هوك والبنى المعتمدة على الأحداث.
أدوات سطر الأوامر
بناء أدوات سطر أوامر لإنشاء رموز QR لمشاركة Wi-Fi واختصار الروابط والعرض في الطرفية.
الوظائف السحابية
نشر إنشاء QR كوظائف بدون خادم على AWS Lambda أو Google Cloud Functions باستخدام Go.
DevOps والبنية التحتية
إنشاء رموز QR لعناوين النشر ولوحات المراقبة ونقاط نهاية التكوين.
نظرة معمقة على منظومة Go لرموز QR
Go مثالية لإنشاء رموز QR في البيئات السحابية الأصلية وعالية الإنتاجية.
بنية الخدمات المصغرة
انشر خدمات خفيفة مع net/http أو Gin. تتعامل Goroutines مع آلاف الطلبات المتزامنة.
Docker و Kubernetes
ملف ثنائي واحد إلى صورة scratch أقل من 10MB. بدون تبعيات CGO. تجميع متقاطع نظيف.
المكتبة القياسية والاختبار
image/png + image/draw للعرض المخصص. معايير أداء مدمجة: 5,000-10,000 رمز QR/ثانية/نواة.
الأسئلة الشائعة
أسئلة شائعة حول إنشاء رموز QR باستخدام Go.
ابدأ بإنشاء رموز QR باستخدام Go
استخدم مولدنا المجاني أو ادمج API في خدمات Go الخاصة بك.