Package guid provides a GUID type. The backing structure for a GUID is identical to that used by the golang.org/x/sys/windows GUID type. There are two main binary encodings used for a GUID, the big-endian encoding, and the Windows (mixed-endian) encoding. See here for details: https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding
GUID represents a GUID/UUID. It has the same structure as golang.org/x/sys/windows.GUID so that it can be used with functions expecting that type. It is defined as its own type so that stringification and marshaling can be supported. The representation matches that used by native Windows code.
FromArray constructs a GUID from a big-endian encoding array of 16 bytes.
FromString parses a string containing a GUID and returns the GUID. The only format currently supported is the `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` format.
FromWindowsArray constructs a GUID from a Windows encoding array of bytes.
NewV4 returns a new version 4 (pseudorandom) GUID, as defined by RFC 4122.
NewV5 returns a new version 5 (generated from a string via SHA-1 hashing) GUID, as defined by RFC 4122. The RFC is unclear on the encoding of the name, and the sample code treats it as a series of bytes, so we do the same here.
Some implementations, such as those found on Windows, treat the name as a big-endian UTF16 stream of bytes. If that is desired, the string can be encoded as such before being passed to this function.
MarshalText returns the textual representation of the GUID.
ToArray returns an array of 16 bytes representing the GUID in big-endian encoding.
ToWindowsArray returns an array of 16 bytes representing the GUID in Windows encoding.
UnmarshalText takes the textual representation of a GUID, and unmarhals it into this GUID.
Variant returns the GUID variant, as defined in RFC 4122.
Version returns the GUID version, as defined in RFC 4122.
Variant specifies which GUID variant (or "type") of the GUID. It determines how the entirety of the rest of the GUID is interpreted.
The variants specified by RFC 4122.
Version specifies how the bits in the GUID were generated. For instance, a version 4 GUID is randomly generated, and a version 5 is generated from the hash of an input string.