| 12345678910111213141516171819202122232425262728293031323334 |
- package gofakeit
- import (
- "encoding/hex"
- "math/rand"
- )
- // UUID (version 4) will generate a random unique identifier based upon random nunbers
- // Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- func UUID() string {
- version := byte(4)
- uuid := make([]byte, 16)
- rand.Read(uuid)
- // Set version
- uuid[6] = (uuid[6] & 0x0f) | (version << 4)
- // Set variant
- uuid[8] = (uuid[8] & 0xbf) | 0x80
- buf := make([]byte, 36)
- var dash byte = '-'
- hex.Encode(buf[0:8], uuid[0:4])
- buf[8] = dash
- hex.Encode(buf[9:13], uuid[4:6])
- buf[13] = dash
- hex.Encode(buf[14:18], uuid[6:8])
- buf[18] = dash
- hex.Encode(buf[19:23], uuid[8:10])
- buf[23] = dash
- hex.Encode(buf[24:], uuid[10:])
- return string(buf)
- }
|