mirror of https://github.com/docker/cli.git
23 lines
360 B
Go
23 lines
360 B
Go
package guid
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"fmt"
|
|
"io"
|
|
)
|
|
|
|
type GUID [16]byte
|
|
|
|
func New() GUID {
|
|
g := GUID{}
|
|
_, err := io.ReadFull(rand.Reader, g[:])
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return g
|
|
}
|
|
|
|
func (g GUID) String() string {
|
|
return fmt.Sprintf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x-%02x", g[3], g[2], g[1], g[0], g[5], g[4], g[7], g[6], g[8:10], g[10:])
|
|
}
|