by satori

satori /go.uuid

UUID package for Go

3.9K Stars 510 Forks Last release: Not found MIT License 148 Commits 3 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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)


Use the

$ go get github.com/satori/go.uuid


UUID package tested against Go >= 1.6.


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)
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 is hosted at GoDoc project.



Copyright (C) 2013-2018 by Maxim Bublis [email protected].

UUID package released under MIT License. See LICENSE for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.