Gin Go फ्रेमवर्क: पूरी गाइड उदाहरण सहित

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Gin क्या है और इसकी आवश्यकता क्यों है?

Gin, Go प्रोग्रामिंग भाषा के लिए एक हाई-परफॉर्मेंस वेब फ्रेमवर्क है, जो पूरी तरह से शुद्ध Go में लिखा गया है और इसकी कोई बाहरी निर्भरता नहीं है। यह डेवलपर्स को REST API, वेब एप्लिकेशन और माइक्रोसर्विसेज बनाने के लिए एक न्यूनतम लेकिन शक्तिशाली टूलकिट प्रदान करता है। Gin को चुनने के मुख्य कारण:

  • स्पीड: Gin अपना खुद का Radix tree-आधारित राउटर इस्तेमाल करता है, जो इसे Go के लिए सबसे तेज़ फ्रेमवर्क में से एक बनाता है। यह मानक net/http से 2-5 गुना तेज़ है।
  • सरलता: API सहज और समझने में आसान है, सर्वर चलाने के लिए न्यूनतम कोड की आवश्यकता होती है।
  • Middleware: लॉगिंग, ऑथेंटिकेशन, CORS आदि के लिए मिडलवेयर चेन की बिल्ट-इन सपोर्ट।
  • वैलिडेशन: स्ट्रक्चर के साथ रिक्वेस्ट बाइंडिंग (binding) की शक्तिशाली सिस्टम।
  • परफॉर्मेंस: कम मेमोरी खपत और उच्च थ्रूपुट।
  • समुदाय: बहुत बड़ा कम्युनिटी, कई रेडीमेड मिडलवेयर और प्लगइन्स उपलब्ध हैं।

Gin इसके लिए आदर्श है: RESTful API बनाना, माइक्रोसर्विसेज, SPA एप्लिकेशन का बैकएंड, प्रॉक्सी सर्वर और कोई भी HTTP एप्लिकेशन जहाँ स्पीड महत्वपूर्ण हो।

इंस्टॉलेशन

Gin को इंस्टॉल करना Go के स्टैंडर्ड पैकेज मैनेजर के ज़रिए किया जाता है। सुनिश्चित करें कि आपके पास Go का वर्शन 1.13 या उससे ऊपर इंस्टॉल है।

# मॉड्यूल इनिशियलाइज़ करें (अगर पहले से नहीं किया है)
go mod init myapp

# Gin इंस्टॉल करें
go get -u github.com/gin-gonic/gin

कमांड चलाने के बाद, Gin go.mod और go.sum में जुड़ जाएगा। अब आप इसे अपने कोड में इम्पोर्ट कर सकते हैं:

import "github.com/gin-gonic/gin"

त्वरित शुरुआत: Gin पर पहला सर्वर

main.go फ़ाइल बनाएँ और एक सरल HTTP सर्वर लिखें:

package main

import (
    "net/http"
    "github.com/gin-gonic/gin"
)

func main() {
    // डिफ़ॉल्ट मिडलवेयर (लॉगर + रिकवरी) के साथ राउटर बनाएँ
    r := gin.Default()

    // GET / रूट डिफ़ाइन करें
    r.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Hello, Gin!",
        })
    })

    // पोर्ट 8080 पर सर्वर चलाएँ
    r.Run(":8080")
}

एप्लिकेशन चलाएँ:

go run main.go

अब ब्राउज़र खोलें और http://localhost:8080/ पर जाएँ। आपको JSON रिस्पॉन्स दिखेगा: {"message":"Hello, Gin!"}।

Gin के मुख्य तरीके और फंक्शन

नीचे Gin के 10 मुख्य तरीकों और फंक्शनों का विस्तृत विवरण और उदाहरण दिया गया है।

1. gin.Default()

यह क्या करता है: दो बिल्ट-इन मिडलवेयर (Logger - रिक्वेस्ट लॉगिंग और Recovery - पैनिक से रिकवरी) के साथ Gin राउटर का एक नया इंस्टेंस बनाता है।

पैरामीटर: कोई नहीं।

उदाहरण:

r := gin.Default()

2. r.GET() / r.POST() / r.PUT() / r.DELETE()

यह क्या करता है: संबंधित HTTP मेथड और पथ के लिए हैंडलर डिफ़ाइन करता है।

पैरामीटर:

  • relativePath (string) — रूट का पथ (जैसे, "/users/:id")
  • handlers (...HandlerFunc) — एक या अधिक हैंडलर फंक्शन

उदाहरण:

r.GET("/users", func(c *gin.Context) {
    c.JSON(200, gin.H{"users": []string{"Alice", "Bob"}})
})

r.POST("/users", func(c *gin.Context) {
    // यूज़र बनाना
    c.JSON(201, gin.H{"status": "created"})
})

3. c.JSON()

यह क्या करता है: क्लाइंट को निर्दिष्ट HTTP स्टेटस के साथ JSON रिस्पॉन्स भेजता है।

पैरामीटर:

  • code (int) — HTTP स्टेटस कोड (जैसे, 200, 404)
  • obj (interface{}) — JSON में सीरियलाइज़ करने के लिए डेटा

अनुशंसाएँ