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