id

package
v1.41.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package id 提供脚手架内置的 ID 生成器:雪花算法(数值型)与 UUID v4(字符串型)。 零第三方依赖,与公共 Model 体系(SnowflakeModel/StringIDModel)配合使用。

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNodeOutOfRange 节点 ID 超出 0-1023 范围。
	ErrNodeOutOfRange = fmt.Errorf("snowflake: node must be in [0, %d]", snowflakeMaxNode)
	// ErrClockBackward 时钟回拨超过等待上限,拒绝生成。
	ErrClockBackward = errors.New("snowflake: clock moved backwards beyond limit")
)
View Source
var ErrUUIDGenerationFailed = errors.New("uuid: crypto/rand read failed")

ErrUUIDGenerationFailed UUID 随机源读取失败。

Functions

func NextID

func NextID() (int64, error)

NextID 生成下一个雪花 ID(int64,恒为正)。 使用默认节点配置;时钟回拨时短暂等待,超过上限返回 ErrClockBackward。

func ParseSnowflake

func ParseSnowflake(value int64) (timestamp time.Time, node int64, sequence int64, err error)

ParseSnowflake 解析雪花 ID,返回(时间戳, 节点, 序列号, 错误)。 可用于日志排查与时间反推。

func SetNode

func SetNode(node int64) error

SetNode 设置默认生成器的节点 ID(0-1023)。 业务进程启动时调用一次即可;多个服务实例必须分配不同节点 ID, 也可通过环境变量 GOBLACKBOX_SNOWFLAKE_NODE 在启动前配置。

func UUID

func UUID() (string, error)

UUID 生成标准 UUID v4(36 字符,如 6ba7b810-9dad-11d1-80b4-00c04fd430c8)。 基于 crypto/rand,零第三方依赖;版本位设为 4、变体位设为 10。 失败时返回错误(随机源故障属于不可恢复的系统级问题)。

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL