ID 生成
ling-base common/idgen 模块文档
在线 Playground
在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。
idgen
ID generation utilities: Snowflake, UUID v4/v7, ShortID (Base62), Ordered UUID, and random strings.
Features
- Snowflake: Twitter-style distributed unique IDs (microsecond precision, 10-bit machine ID)
- UUID v4: random UUIDs (RFC 4122)
- UUID v7: time-ordered UUIDs (RFC 9562)
- ShortID: Base62-encoded compact IDs from snowflake or random bytes
- Ordered UUID: lexicographically sortable (ULID-style, 32 hex chars)
- Random text and numeric strings
Key types
Snowflake-- snowflake ID generator (machine ID fromMACHINE_IDenv var)
Key functions
SnowflakeNext()/SnowflakeNextUint()-- package-level snowflake IDsNewSnowflake()/NewSnowflakeWithID(machineID)-- custom generatorUUIDv4()/UUIDv4Bytes()-- random UUIDUUIDv7()/UUIDv7Bytes()-- time-ordered UUIDOrderedUUID()-- sortable 32-char hex stringShortID()/ShortIDFromID(id)-- Base62 short IDRandText(n)/RandNumberText(n)-- random strings
Quick start
import "github.com/LingByte/ling-base/common/idgen"
id := idgen.SnowflakeNext() // int64
uid := idgen.SnowflakeNextUint() // uint (sign-bit cleared)
u4 := idgen.UUIDv4() // "550e8400-e29b-41d4-a716-446655440000"
u7 := idgen.UUIDv7() // time-ordered
sid := idgen.ShortID() // "7B3XkQ9m2P"
ouid := idgen.OrderedUUID() // sortable hexLicense
MIT