mirror of https://github.com/gorilla/feeds
Mirror of https://github.com/gorilla/feeds
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
455 B
27 lines
455 B
package feeds |
|
|
|
// relevant bits from https://github.com/abneptis/GoUUID/blob/master/uuid.go |
|
|
|
import ( |
|
"crypto/rand" |
|
"fmt" |
|
) |
|
|
|
type UUID [16]byte |
|
|
|
// create a new uuid v4 |
|
func NewUUID() *UUID { |
|
u := &UUID{} |
|
_, err := rand.Read(u[:16]) |
|
if err != nil { |
|
panic(err) |
|
} |
|
|
|
u[8] = (u[8] | 0x80) & 0xBf |
|
u[6] = (u[6] | 0x40) & 0x4f |
|
return u |
|
} |
|
|
|
func (u *UUID) String() string { |
|
return fmt.Sprintf("%x-%x-%x-%x-%x", u[:4], u[4:6], u[6:8], u[8:10], u[10:]) |
|
}
|
|
|