SandID
Every grain of sand on Earth has its own ID.
Note that the algorithm used to generate the
sandid.SandID mainly come
from the UUID version 1. Some adjustments
were made to enhance the efficiency of database insertion (see
this).
Features
- Extremely easy to use
- Fixed length
- 16 bytes
- 22 characters
- 128-bit
- Huge capacity
- Up to 2e128
- URL safe
^[A-Za-z0-9-_]{22}$
- Encoding friendly
- Implemented
encoding.TextMarshalerandencoding.TextUnmarshaler - Implemented
encoding.BinaryMarshalerandencoding.BinaryUnmarshaler - Implemented
json.Marshalerandjson.Unmarshaler
- Implemented
- SQL friendly
sandid.NullSandIDsupport- Implemented
sql.Scanneranddriver.Valuer
- Zero third-party dependencies
Installation
Open your terminal and execute
$ go get github.com/aofei/sandiddone.
The only requirement is the Go, at least v1.13.
Community
If you want to discuss SandID, or ask questions about it, simply post questions or ideas here.
Contributing
If you want to help build SandID, simply follow this to send pull requests here.
License
This project is licensed under the MIT License.
License can be found here.
