Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Go implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs

License

Notifications You must be signed in to change notification settings

jetify-com/typeid-go

TypeID Go

A golang implementation of TypeIDs

License: Apache 2.0 Go Reference

TypeIDs are a modern, type-safe, globally unique identifier based on the upcoming UUIDv7 standard. They provide a ton of nice properties that make them a great choice as the primary identifiers for your data in a database, APIs, and distributed systems. Read more about TypeIDs in their spec.

This particular implementation provides a go library for generating and parsing TypeIDs.

Installation

To add this library as a dependency in your go module, run:

go get go.jetify.com/typeid/v2

Usage

This library provides a go implementation of TypeID:

import (
 "go.jetify.com/typeid/v2"
)
func example() {
 // Generate a new TypeID with a prefix (panics on invalid prefix)
 tid := typeid.MustGenerate("user")
 fmt.Println(tid)
 
 // Generate a new TypeID without a prefix
 tid = typeid.MustGenerate("")
 fmt.Println(tid)
 
 // Generate with error handling
 tid, err := typeid.Generate("user")
 if err != nil {
 log.Fatal(err)
 }
 
 // Parse an existing TypeID
 tid, _ = typeid.Parse("user_00041061050r3gg28a1c60t3gf")
 fmt.Println(tid)
 
 // Convert from UUID
 tid, _ = typeid.FromUUID("user", "018e5f71-6f04-7c5c-8123-456789abcdef")
 fmt.Println(tid)
}

For the full documentation, see this package's godoc.

About

Go implementation of TypeIDs: type-safe, K-sortable, and globally unique identifiers inspired by Stripe IDs

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 10

Languages

AltStyle によって変換されたページ (->オリジナル) /