modulepackage
2.0.0+incompatible
Repository: https://github.com/golangdaddy/go.uuid.git
Documentation: pkg.go.dev
# README
UUID package for Go language
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)
Installation
Use the go
command:
$ go get github.com/satori/go.uuid
Requirements
UUID package requires Go >= 1.2.
Example
package main
import (
"fmt"
"github.com/satori/go.uuid"
)
func main() {
// Creating UUID Version 4
// panic on error
u1 := uuid.Must(uuid.NewV4())
fmt.Printf("UUIDv4: %s\n", u1)
// or error handling
u2, err := uuid.NewV4()
if err != nil {
fmt.Printf("Something went wrong: %s", err)
return
}
fmt.Printf("UUIDv4: %s\n", u2)
// Parsing UUID from string input
u2, err := uuid.FromString("6ba7b810-9dad-11d1-80b4-00c04fd430c8")
if err != nil {
fmt.Printf("Something went wrong: %s", err)
}
fmt.Printf("Successfully parsed: %s", u2)
}
Documentation
Documentation is hosted at GoDoc project.
Links
Copyright
Copyright (C) 2013-2018 by Maxim Bublis [email protected].
UUID package released under MIT License. See LICENSE for details.
# Functions
Equal returns true if u1 and u2 equals, otherwise returns false.
FromBytes returns UUID converted from raw byte slice input.
FromBytesOrNil returns UUID converted from raw byte slice input.
FromString returns UUID parsed from string input.
FromStringOrNil returns UUID parsed from string input.
Must is a helper that wraps a call to a function returning (UUID, error) and panics if the error is non-nil.
NewV1 returns UUID based on current timestamp and MAC address.
NewV2 returns DCE Security UUID based on POSIX UID/GID.
NewV3 returns UUID based on MD5 hash of namespace UUID and name.
NewV4 returns random generated UUID.
NewV5 returns UUID based on SHA-1 hash of namespace UUID and name.
# Constants
UUID DCE domains.
UUID DCE domains.
UUID DCE domains.
Size of a UUID in bytes.
UUID versions.
UUID versions.
UUID versions.
UUID versions.
UUID versions.
UUID layout variants.
UUID layout variants.
UUID layout variants.
UUID layout variants.
# Variables
Predefined namespace UUIDs.
Predefined namespace UUIDs.
Predefined namespace UUIDs.
Predefined namespace UUIDs.
Nil is special form of UUID that is specified to have all 128 bits set to zero.
# Structs
NullUUID can be used with the standard sql package to represent a UUID value that can be NULL in the database.
# Interfaces
Generator provides interface for generating UUIDs.
# Type aliases
UUID representation compliant with specification described in RFC 4122.