Differences from satori/go.uuid
- Implementation of driver.Valuer
returns
nil
instead for Nil UUID, to produce NULL in database fields. (Will panic if not nullable) - Unmarshals
NULL
database value into Nil UUID. - Provides
Must
helper instead of*OrNil
functions. - Provides methods to output base64 strings.
- Removes other parts of API that I don't need.
This package provides pure Go implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs.
With 100% test coverage and benchmarks out of box.
Supported versions:
- Version 1, based on timestamp and MAC address (RFC 4122)
- Version 2, based on timestamp, MAC address and POSIX UID/GID (DCE 1.1)
- Version 3, based on MD5 hashing (RFC 4122)
- Version 4, based on random numbers (RFC 4122)
- Version 5, based on SHA-1 hashing (RFC 4122)
Use the go
command:
$ go get github.com/lwalen/uuid
UUID package requires Go >= 1.2.
package main
import (
"fmt"
"github.com/lwalen/uuid"
)
func main() {
// Creating UUID Version 4
u1 := uuid.NewV4()
fmt.Printf("UUIDv4: %s\n", u1)
// Parsing UUID from string input
u2, err := uuid.FromString("6ba7b810-9dad-11d1-80b4-00c04fd430c8")
if err != nil {
fmt.Printf("Something gone wrong: %s", err)
}
fmt.Printf("Successfully parsed: %s", u2)
}
Documentation is hosted at GoDoc project.
Copyright (C) 2013-2016 by Maxim Bublis b@codemonkey.ru.
UUID package released under MIT License. See LICENSE for details.