Categorygithub.com/golangdaddy/go.uuid
modulepackage
2.0.0+incompatible
Repository: https://github.com/golangdaddy/go.uuid.git
Documentation: pkg.go.dev

# README

UUID package for Go language

Build Status Coverage Status GoDoc

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.