分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
```go
// 生成指定长度的字符串
func RandomStr(len int) (salt []byte) {
salt = make([]byte, len)
rnd := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := 0; i < 6;i++ {
salt[i] = byte(rnd.Intn(95) + 32)
}
return
}
```
然后打印10次,:
```shell
salt = (T(Q]!
salt = (T(Q]!
salt = (T(Q]!
salt = (T(Q]!
salt = (T(Q]!
salt = (T(Q]!
salt = (T(Q]!
salt = s0H1(!
salt = s0H1(!
salt = s0H1(!
```
** WTF ** : 随机字符串有这么难写吗? 问题在哪里?
有疑问加站长微信联系(非本文作者)
第 1 条附言 ·
做个结束吧...
这段代码,我用 for 循环试了几次,都是重复的随机数.因为这样写是不对的.
如果项目中用到了随机数...那么应该直接在 `main.go` 的 `init()` 文件里喂个随机数的种子.用的时候在 喂, 就可能导致,喂的数字一样而使生成的随机序列一致.
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1049 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传