Go में UUID: पूर्ण गाइड उदाहरणों के साथ

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

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

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

Go के लिए uuid लाइब्रेरी: UUID जनरेशन की पूरी गाइड

1. यह क्या है और क्यों ज़रूरी है

UUID (Universally Unique Identifier) एक मानक पहचानकर्ता है जिसका उपयोग सॉफ्टवेयर डेवलपमेंट में बिना किसी केंद्रीय समन्वयक के अद्वितीय आईडी बनाने के लिए किया जाता है। Go इकोसिस्टम में github.com/google/uuid लाइब्रेरी UUID के साथ काम करने का डी-फैक्टो मानक है। यह विभिन्न वर्ज़न के UUID को जनरेट करने, पार्स करने और तुलना करने के लिए विश्वसनीय और उच्च-प्रदर्शन वाले टूल प्रदान करती है।

यह लाइब्रेरी क्यों ज़रूरी है? आधुनिक वितरित सिस्टम, माइक्रोसर्विस आर्किटेक्चर और डेटाबेस में अक्सर ऐसे अद्वितीय पहचानकर्ता बनाने की ज़रूरत होती है जो सिस्टम के अलग-अलग नोड्स के बीच टकराव न करें। UUID इस समस्या को हल करता है: आप क्लाइंट, सर्वर या कहीं भी आईडी जनरेट कर सकते हैं, बिना किसी टकराव के डर के। google/uuid लाइब्रेरी UUID वर्ज़न 1 (समय और MAC-एड्रेस पर आधारित), 4 (रैंडम) और 5 (SHA-1 हैश पर आधारित) को सपोर्ट करती है।

इस लाइब्रेरी का उपयोग Kubernetes, Docker, CockroachDB जैसे कई बड़े प्रोजेक्ट्स में किया जाता है। यह उच्च प्रदर्शन के लिए ऑप्टिमाइज़ की गई है, थ्रेड-सेफ जनरेशन को सपोर्ट करती है और UUID से जुड़े सभी मुख्य ऑपरेशनों के लिए एक सुविधाजनक API प्रदान करती है।

2. इंस्टॉलेशन

लाइब्रेरी इंस्टॉल करने के लिए टर्मिनल में यह कमांड चलाएँ:

go get github.com/google/uuid

इसके बाद अपने कोड में पैकेज को इम्पोर्ट करें:

import "github.com/google/uuid"

सुनिश्चित करें कि आपके पास Go वर्ज़न 1.16 या उससे ऊपर है। यदि आप Go modules (अनुशंसित) का उपयोग कर रहे हैं, तो लाइब्रेरी आपकी go.mod और go.sum फ़ाइलों में ऑटोमैटिकली जुड़ जाएगी।

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

UUID वर्ज़न 4 (रैंडम) जनरेट करने का सबसे सरल उदाहरण:

package main

import (
    "fmt"
    "github.com/google/uuid"
)

func main() {
    // नया UUID वर्ज़न 4 जनरेट करें
    id := uuid.New()
    fmt.Println("जनरेट किया गया UUID:", id.String())
    
    // जाँचें कि यह वास्तव में UUID है
    fmt.Println("UUID टाइप:", id.Version())
    fmt.Println("UUID वेरिएंट:", id.Variant())
}

प्रोग्राम का आउटपुट कुछ इस तरह होगा:

जनरेट किया गया UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
UUID टाइप: 4
UUID वेरिएंट: RFC 4122

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

4.1. uuid.New()

सिग्नेचर: func New() UUID

विवरण: UUID वर्ज़न 4 (रैंडम) जनरेट करता है। यह अद्वितीय पहचानकर्ता बनाने का सबसे लोकप्रिय तरीका है। यह क्रिप्टोग्राफिक रूप से सुरक्षित रैंडम नंबर जनरेटर का उपयोग करता है।

package main

import (
    "fmt"
    "github.com/google/uuid"
)

func main() {
    id := uuid.New()
    fmt.Printf("UUID: %s\n", id.String())
    fmt.Printf("वर्ज़न: %d\n", id.Version())
    fmt.Printf("वेरिएंट: %d\n", id.Variant())
}

4.2. uuid.NewUUID()

सिग्नेचर: func NewUUID() (UUID, error)

विवरण: वर्तमान समय और MAC-एड्रेस के आधार पर UUID वर्ज़न 1 जनरेट करता है। यदि MAC-एड्रेस प्राप्त नहीं हो पाता है तो यह एरर रिटर्न कर सकता है।

package main

import (
    "fmt"
    "log"
    "github.com/google/uuid"
)

func main() {
    id, err := uuid.NewUUID()
    if err != nil {
        log.Fatal("UUID जनरेशन में एरर:", err)
    }
    fmt.Printf("UUID v1: %s\n", id.String())
    fmt.Printf("निर्माण का समय: %v\n", id.Time())
    fmt.Printf("MAC-एड्रेस: %x\n", id.Node())
}

4.3. uuid.NewRandom()

सिग्नेचर: func NewRandom() (UUID, error)

विवरण: New() का एनालॉग, लेकिन यदि रैंडम नंबर प्राप्त करने में विफलता होती है तो एरर रिटर्न करता है।

अनुशंसाएँ