Unique ID generator for Go, inspired by PHP's uniqid(). Goroutine-safe.
go get github.com/mintance/go-uniqid
package main
import (
"fmt"
"github.com/mintance/go-uniqid"
)
func main() {
fmt.Println(uniqid.New()) // "6601a3d800001"
fmt.Println(uniqid.NewWithPrefix("usr_")) // "usr_6601a3d800002"
fmt.Println(uniqid.NewWithEntropy()) // "6601a3d8000035.82749103"
fmt.Println(uniqid.NewWithPrefixAndEntropy("sess_")) // "sess_6601a3d8000042.19384756"
}| Function | Description |
|---|---|
New() |
13-char hex ID (timestamp + counter) |
NewWithPrefix(prefix) |
Prefixed hex ID |
NewWithEntropy() |
23-char ID with random decimal suffix |
NewWithPrefixAndEntropy(prefix) |
Prefixed ID with entropy |
All functions are safe for concurrent use.