# README
rands

rands 为一个随机字符串生成工具。
从 v3 开始只支持 go1.22 以之后的版本
// 拿 [8,10) 数量的 rune,每个汉字都是完整的。
str := rands.String(8, 10, []rune("rands 为一个随机字符串生成工具"))
// 拿 [8,10) 数量的 byte,汉字可能会被截断。
str := rands.String(8, 10, []byte("rands 为一个随机字符串生成工具"))
// 生成一个带缓存功能的随机字符串生成器
r, err := rands.New(time.Now().Unix(), 100, 5, 7, []byte("asdfghijklmn"))
ctx,cancel := context.WithCancel(context.Background())
go r.Serve(ctx)
defer cancel()
str1 := r.String()
str2 := r.String()
安装
go get github.com/issue9/rands/v3
版权
# Functions
Alpha 返回所有的字母.
AlphaNumber [Alpha] + [Number].
AlphaNumberPunct [Alpha] + [Number] + [Punct].
Append 将随机生成的字符串写入 buf.
Bytes 从 bs 中随机抓取 [min,max) 个字符并返回
NOTE: bs 的类型可以是 rune,但是返回类型始终是 []byte,所以用 len 判断返回值可能其值会很大。.
LowerAlpha 小写字母.
New 声明 [Rands]
如果 r 为 nil,将采用默认的随机函数; bufferSize 缓存的随机字符串数量,若为 0,表示不缓存;.
Number 返回所有的数字.
Punct 返回所有的标点符号.
String 产生一个随机字符串
其长度为[min, max),bs 可用的随机字符。.
UpperAlpha 大写字母.
# Interfaces
Char 约束随机字符串字符的类型
byte 的性能为好于 rune。.