UUID package for Go
Go to file
Maxim Bublis b2ce2384e1
Merge pull request #87 from HaraldNordgren/go_versions
Bump Go versions and use 1.n.x to get latest minor versions
2018-10-28 12:50:25 +00:00
.travis.yml Bump Go versions and use 1.n.x to get latest minor versions 2018-10-28 00:08:22 +02:00
LICENSE Update copyright year. 2018-01-03 00:35:58 +00:00
README.md Update build matrix to test against Go >= 1.6. 2018-10-16 19:35:04 +01:00
codec.go Moved codecs suport into `codec.go` 2018-01-03 00:28:15 +00:00
codec_test.go Return enthropy errors from UUID generation. 2018-01-03 16:15:47 +00:00
generator.go Fix potential non-random UUIDs 2018-04-04 18:55:56 +02:00
generator_test.go Fix potential non-random UUIDs 2018-04-04 18:55:56 +02:00
sql.go Moved database support into `sql.go`. 2018-01-02 20:56:48 +00:00
sql_test.go Rewrite tests using gocheck. 2018-01-03 00:28:15 +00:00
uuid.go Add support for setting variant bits other than RFC4122. 2018-01-03 15:23:54 +00:00
uuid_test.go Add test case for Must helper. 2018-01-03 17:44:51 +00:00

README.md

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 tested against Go >= 1.6.

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)
		return
	}
	fmt.Printf("Successfully parsed: %s", u2)
}

Documentation

Documentation is hosted at GoDoc project.

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

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