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 基于时间戳的唯一字符串,长度不固定。
NOTE: 算法是基于系统时间的。所以必须得保证时间上正确的,否则可能会造成非唯一的情况。 NOTE: 产生的数据有一定的顺序性,不适合做 token 等需要完全随机的唯一值。
Unique 由两部分组成: 前缀是由一个相对稳定的字符串,与时间相关联; 后缀是一个自增的数值。
每次刷新前缀之后,都会重置后缀的计数器,从头开始。 刷新时间和计数器的步长都是一个随机数。
func Date ¶
func Date() *Unique
Date 初始化一个以日期形式表示唯一值的 Unique 实例,大致格式如下:
20180222232332-1
NOTE: 多次调用,返回的是同一个实例。
func New ¶
New 声明一个新的 Unique。
seed 随机种子; step 计数器的步长,需大于 0; duration 计数器的重置时间; prefixFormat 格式化 prefix 的方式,若指定,则格式化为时间,否则将时间戳转换为数值; base 数值转换成字符串时,所采用的进制,可以是 [2,36] 之间的值。
func Number ¶
func Number() *Unique
Number 初始化一个数字形式表示唯一值的 Unique 实例,大致格式如下:
15193130121
NOTE: 多次调用,返回的是同一个实例。
func String ¶
func String() *Unique
String 初始化一个以字符串形式表示唯一值的 Unique 实例,大致格式如下:
p4k5f81
NOTE: 多次调用,返回的是同一个实例。
Click to show internal directories.
Click to hide internal directories.