Ich habe Code, der so aussieht:
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)
Es gibt einen String mit einer Länge von 32 zurück, aber ich denke nicht, dass es eine gültige UUID ist. Wenn es eine echte UUID ist, warum ist es ein UUID, und was ist der Zweck des Codes, ändert sich der Wert von u[8]
und u[6]
.
Gibt es eine bessere Möglichkeit, UUIDs zu generieren?