Documentation ¶
Overview ¶
Package unique 产生一个唯一字符串
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Unique ¶
type Unique struct {
// contains filtered or unexported fields
}
Unique 基于时间戳的唯一不定长字符串
Unique 由两部分组成: 前缀是由一个相对稳定的字符串,与时间相关联; 后缀是一个自增的数值。
每次刷新前缀之后,都会重置后缀的计数器,从头开始。 刷新时间和计数器的步长都是一个随机数。
NOTE: 算法是基于系统时间的。所以必须得保证时间上正确的,否则可能会造成非唯一的情况。 NOTE: 产生的数据有一定的顺序规则。
func New ¶
New 声明一个新的 Unique
seed 随机种子; step 计数器的步长,需大于 0; duration 计数器的重置时间,不能小于 1*time.Second; prefixFormat 格式化 prefix 的方式,若指定,则格式化为时间,否则将时间戳转换为数值; base 数值转换成字符串时,所采用的进制,可以是 [2,36] 之间的值。
func NewDate ¶ added in v1.3.0
func NewDate() *Unique
NewDate 声明以日期形式表示的 Unique 实例
格式为:20180222232332-1
func NewNumber ¶ added in v1.3.0
func NewNumber() *Unique
NewNumber 声明以数字形式表示的 Unique 实例
格式为:15193130121
func NewString ¶ added in v1.3.0
func NewString() *Unique
NewString 声明以字符串形式表示的 Unique 实例
格式为:p4k5f81
Click to show internal directories.
Click to hide internal directories.