मेरे पास कोड है जो इस तरह दिखता है:
u := make([]byte, 16)
_, err := rand.Read(u)
if err != nil {
return
}
u[8] = (u[8] | 0x80) & 0xBF // what does this do?
u[6] = (u[6] | 0x40) & 0x4F // what does this do?
return hex.EncodeToString(u)
यह 32 की लंबाई के साथ एक स्ट्रिंग देता है, लेकिन मुझे नहीं लगता कि यह एक वैध यूयूआईडी है। यदि यह एक असली UUID है, कारण है कि यह एक UUID है, और कोड है कि संशोधित के मूल्य का उद्देश्य क्या है u[8]
और u[6]
।
क्या UUIDs बनाने का एक बेहतर तरीका है?