Go में UUID कैसे जनरेट करें? कोई बिल्ट-इन फंक्शन नहीं है?
सभी को नमस्ते! मैंने अभी-अभी Go सीखना शुरू किया है और एक समस्या का सामना करना पड़ा: डेटाबेस में रिकॉर्ड के लिए अद्वितीय पहचानकर्ता (UUID) जनरेट करने की आवश्यकता है। Python में मैं `uuid.uuid4()` का उपयोग करने का आदी हूं, और Go में, जितना मैंने स्टैंडर्ड लाइब्रेरी में खोजा, मुझे ऐसा कुछ नहीं मिला। केवल `crypto/rand` रैंडम नंबरों के लिए और `fmt.Sprintf` फॉर्मेटिंग के लिए।
मैंने अपना खुद का इम्प्लीमेंटेशन लिखने की कोशिश की — बस 16 रैंडम बाइट्स जनरेट करें और मैन्युअल रूप से डैश लगाएं, जैसे स्टैंडर्ड UUID फॉर्मेट में। लेकिन, पहली बात, यह बेढंगा लगता है, और दूसरी बात, मुझे यकीन नहीं है कि बाइट्स UUID वर्जन 4 (रैंडम) के अनुरूप होंगे। मेरा कोड:
```go
package main
import (
"crypto/rand"
"fmt"
)
func main() {
b := make([]byte, 16)
_, err := rand.Read(b)
if err != nil {
panic(err)
}