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.TextMarshaler
andencoding.TextUnmarshaler
- Implemented
encoding.BinaryMarshaler
andencoding.BinaryUnmarshaler
- Implemented
json.Marshaler
andjson.Unmarshaler
- Implemented
- SQL friendly
sandid.NullSandID
support- Implemented
sql.Scanner
anddriver.Valuer
Installation
Open your terminal and execute
$ go get github.com/aofei/sandid
done.
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.