Awesome
Go Nanoid
This package is Go implementation of ai's nanoid!
Safe. It uses cryptographically strong random generator.
Compact. It uses more symbols than UUID (A-Za-z0-9_-
) and has the same number of unique options in just 22 symbols instead of 36.
Fast. Nanoid is as fast as UUID but can be used in URLs.
There's also this alternative: https://github.com/jaevor/go-nanoid.
[!NOTE]
There's little to no development on this repo, intentionally. It does what it needs to do. Bug reports are welcomed, features might be implemented.If you are considering more heavy weight solution that integrates with UUIDs (supported by many databases) I would suggest you take a look at typeid or other equivalents.
Install
Via go get tool
$ go get github.com/matoous/go-nanoid/v2
Usage
Generate ID
id, err := gonanoid.New()
Generate ID with a custom alphabet and length
id, err := gonanoid.Generate("abcde", 54)
Notice
If you use Go Nanoid in your project, please let me know!
If you have any issues, just feel free and open it in this repository, thanks!
Credits
- ai - nanoid
- icza - his tutorial on random strings in Go
License
The MIT License (MIT). Please see License File for more information.