Adron
3/13/2017 - 9:43 PM

UUID v1, v2, and v4

UUID v1, v2, and v4

package main

import (
	"fmt"
	"github.com/satori/go.uuid"
)

func main() {
	// Creating UUID Version 1
	uuid1 := uuid.NewV1()
	fmt.Printf("UUIDv1: %s\n", uuid1)

	// Creating UUID Version 2 - Domain Person
	uuid2 := uuid.NewV2(uuid.DomainPerson)
	fmt.Printf("UUIDv2: %s\n", uuid2)

	// Creating UUID Version 2 - Domain Group
	uuid2b := uuid.NewV2(uuid.DomainGroup)
	fmt.Printf("UUIDv2: %s\n", uuid2b)

	// Creating UUID Version 2 - Domain Organization
	uuid2c := uuid.NewV2(uuid.DomainOrg)
	fmt.Printf("UUIDv2: %s\n", uuid2c)

	// Creating UUID Version 4
	uuid4 := uuid.NewV4()
	fmt.Printf("UUIDv4: %s\n", uuid4)

	// 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\n", u2)
}