Şuna benzeyen kodum var:
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 uzunluğunda bir dize döndürür, ancak bunun geçerli bir UUID olduğunu düşünmüyorum. Gerçek bir UUID ise, neden bir UUID ve kod olduğunu değiştirir değerinin amacı nedir u[8]
ve u[6]
.
UUID oluşturmanın daha iyi bir yolu var mı?