UUID package for Go
Go to file
Maxim Bublis 08f0718b61 Update tested Go versions. 2015-08-29 05:49:07 +03:00
.travis.yml Build against Go 1.5. 2015-08-29 05:45:53 +03:00
LICENSE Update copyright year 2015-02-15 00:26:48 +07:00
README.md Update tested Go versions. 2015-08-29 05:49:07 +03:00
benchmarks_test.go Speed-up for string conversion function 2015-05-01 17:00:27 +02:00
uuid.go Add FromBytesOrNil 2015-07-22 02:38:27 -07:00
uuid_test.go Add FromBytesOrNil 2015-07-22 02:38:27 -07:00

README.md

UUID package for Go language

Build 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 any stable version of Go Programming Language.

It is tested against following versions of Go: 1.0-1.5

Example

package main

import (
	"fmt"
	"github.com/satori/go.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

Documentation is hosted at GoDoc project.

Copyright (C) 2013-2015 by Maxim Bublis b@codemonkey.ru.

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