go.uuid VS go-shortid

Compare go.uuid vs go-shortid and see what are their differences.

go.uuid

UUID package for Go (by satori)

go-shortid

Super short, fully unique, non-sequential and URL friendly Ids (by teris-io)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
go.uuid go-shortid
4 0
4,857 914
- 1.4%
0.0 0.0
8 months ago almost 2 years ago
Go Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

go.uuid

Posts with mentions or reviews of go.uuid. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • Writing UDF for Clickhouse using Golang
    2 projects | dev.to | 27 Feb 2024
    package main import ( "bufio" "encoding/binary" "encoding/hex" "fmt" "os" "strings" "time" ) func main() { scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanLines) for scanner.Scan() { id, _ := FromString(scanner.Text()) fmt.Println(id.Time()) } } func (me UUID) Nanoseconds() int64 { time_low := int64(binary.BigEndian.Uint32(me[0:4])) time_mid := int64(binary.BigEndian.Uint16(me[4:6])) time_hi := int64((binary.BigEndian.Uint16(me[6:8]) & 0x0fff)) return int64((((time_low) + (time_mid << 32) + (time_hi << 48)) - epochStart) * 100) } func (me UUID) Time() time.Time { nsec := me.Nanoseconds() return time.Unix(nsec/1e9, nsec%1e9).UTC() } // code below Copyright (C) 2013 by Maxim Bublis // see https://github.com/satori/go.uuid // Difference in 100-nanosecond intervals between // UUID epoch (October 15, 1582) and Unix epoch (January 1, 1970). const epochStart = 122192928000000000 // UUID representation compliant with specification // described in RFC 4122. type UUID [16]byte // FromString returns UUID parsed from string input. // Following formats are supported: // "6ba7b810-9dad-11d1-80b4-00c04fd430c8", // "{6ba7b810-9dad-11d1-80b4-00c04fd430c8}", // "urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8" func FromString(input string) (u UUID, err error) { s := strings.Replace(input, "-", "", -1) if len(s) == 41 && s[:9] == "urn:uuid:" { s = s[9:] } else if len(s) == 34 && s[0] == '{' && s[33] == '}' { s = s[1:33] } if len(s) != 32 { err = fmt.Errorf("uuid: invalid UUID string: %s", input) return } b := []byte(s) _, err = hex.Decode(u[:], b) return } // Returns canonical string representation of UUID: // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. func (u UUID) String() string { return fmt.Sprintf("%x-%x-%x-%x-%x", u[:4], u[4:6], u[6:8], u[8:10], u[10:]) }
  • satori uuid vs google uuid vs gofrs uuid ? which to use to generate uuid for enterprise coding standards
    2 projects | /r/golang | 4 Sep 2023
    Link to source code :https://github.com/satori/go.uuid up to v5
  • Building web-based SaaS with Go as a solo entrepreneur. What should I be aware of?
    13 projects | /r/golang | 23 Jan 2023
    Something to note is that all of this is still open source. Theoretically, someone can decide to fork SQLBoiler and add all the missing things, or send in a PR. A good example is that the current most popular uuid package. gofrs/uuid was forked from an unmaintained previously popular package.
  • CVE-2021-3538 issued for latest release of github.com/satori/go.uuid
    4 projects | /r/golang | 6 May 2021

go-shortid

Posts with mentions or reviews of go-shortid. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning go-shortid yet.
Tracking mentions began in Dec 2020.

What are some alternatives?

When comparing go.uuid and go-shortid you can also consider the following projects:

uuid - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.

uuid - Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.

golang-templates/seed - Go application GitHub repository template.

vfs for golang - Virtual filesystem library written in golang

go-formatter - A curated list of awesome Go frameworks, libraries and software

autoflags - Populate go command line app flags from config struct

go-chat-bot - IRC, Slack, Telegram and RocketChat bot written in go

conv - Fast conversions across various Go types with a simple API.

container - A lightweight yet powerful IoC dependency injection container for the Go programming language

go-resiliency - Resiliency patterns for golang

banner - An easy way to add useful startup banners into your Go applications

gosms - :mailbox_closed: Your own local SMS gateway in Go