Is there a method to generate a UUID with go language
There is an official implementation by Google: https://github.com/google/uuid
Generating a version 4 UUID works like this:
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id.String())
}
Try it here: https://play.golang.org/p/6YPi1djUMj9
You can generate UUIDs using the go-uuid library. This can be installed with:
go get github.com/nu7hatch/gouuid
You can generate random (version 4) UUIDs with:
import "github.com/nu7hatch/gouuid"
...
u, err := uuid.NewV4()
The returned UUID
type is a 16 byte array, so you can retrieve the binary value easily. It also provides the standard hex string representation via its String()
method.
The code you have also looks like it will also generate a valid version 4 UUID: the bitwise manipulation you perform at the end set the version and variant fields of the UUID to correctly identify it as version 4. This is done to distinguish random UUIDs from ones generated via other algorithms (e.g. version 1 UUIDs based on your MAC address and time).