Categorygithub.com/marstr/guid
modulepackage
1.1.0
Repository: https://github.com/marstr/guid.git
Documentation: pkg.go.dev

# README

Build Status GoDoc Go Report Card

Guid

Globally unique identifiers offer a quick means of generating non-colliding values across a distributed system. For this implemenation, RFC 4122 governs the desired behavior.

What's in a name?

You have likely already noticed that RFC and some implementations refer to these structures as UUIDs (Universally Unique Identifiers), where as this project is annotated as GUIDs (Globally Unique Identifiers). The name Guid was selected to make clear this project's ties to the .NET struct Guid. The most obvious relationship is the desire to have the same format specifiers available in this library's Format and Parse methods as .NET would have in its ToString and Parse methods.

Installation

  • Ensure you have the Go Programming Language installed on your system.
  • Run the command: go get -u github.com/marstr/guid

Contribution

Contributions are welcome! Feel free to send Pull Requests. Continuous Integration will ensure that you have conformed to Go conventions. Please remember to add tests for your changes.

Versioning

This library will adhere to the Semantic Versioning 2.0.0 specification. It may be worth noting this should allow for tools like glide to pull in this library with ease.

The Release Notes portion of this file will be updated to reflect the most recent major/minor updates, with the option to tag particular bug-fixes as well. Updates to the Release Notes for patches should be addative, where as major/minor updates should replace the previous version. If one desires to see the release notes for an older version, checkout that version of code and open this file.

Release Notes 1.1.*

v1.1.0

Adding support for JSON marshaling and unmarshaling.

# Functions

Empty returns a copy of the default and empty GUID.
NewGUID generates and returns a new globally unique identifier.
NewGUIDs generates and returns a new globally unique identifier that conforms to the given strategy.
Parse instantiates a GUID from a text representation of the same GUID.

# Constants

These constants define the possible creation strategies available via this implementation of Guid.
These constants define the possible creation strategies available via this implementation of Guid.
These constants define the possible creation strategies available via this implementation of Guid.
These constants define the possible creation strategies available via this implementation of Guid.
These constants define the possible creation strategies available via this implementation of Guid.
{00000000-0000-0000-0000-000000000000}.
00000000-0000-0000-0000-000000000000.
These constants define the possible string formats available via this implementation of Guid.
00000000000000000000000000000000.
(00000000-0000-0000-0000-000000000000).
{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}.

# Structs

GUID is a unique identifier designed to virtually guarantee non-conflict between values generated across a distributed system.

# Type aliases

CreationStrategy enumerates the values that are supported for populating the bits of a new Guid.
Format enumerates the values that are supported by Parse and Format.