go生成不重复的纯数字6位的随机数
最近在学go, 按照入门指南学完go的基础语法, 开始学习go的标准库; 借用生成这个小任务复习一下go的基础语法.
推荐go编辑, jb公司的goland, 超级好用.
推荐go入门指南, https://tour.go-zh.org/list
package main
import (
"fmt"
"math/rand"
"sync"
)
func main() {
//fmt.Println("random: ", rand.Intn(100))
res := Example(, )
; i<len(res); i++ {
fmt.Println(i+,res[i])
}
}
/**
len: 长度
max: 个数
随机生成长度为len的max个纯数字随机数
*/
func Example(length int, max int) []string{
// Seeding with the same value results in the same random sequence each run.
// For different numbers, seed with a different value, such as
// time.Now().UnixNano(), which yields a constantly-changing number.
//rand.Seed(42)
digitNumber := []string {
",
",
",
",
",
",
",
",
",
",
}
// 用make创建map
set := New()
for ; set.Len() < max ; {
ranNumber := ""
; j<length; j++ {
ranNumber += digitNumber[rand.Intn(len(digitNumber))]
}
if !set.Has(ranNumber){
set.Add(ranNumber)
}
}
return set.List()
}
/**
构造set类型
*/
type Set struct {
m map[string]bool
sync.RWMutex
}
func New() *Set {
return &Set{
m: map[string]bool{},
}
}
func (s *Set) Add(item string) {
s.Lock()
defer s.Unlock()
s.m[item] = true
}
func (s *Set) Remove(item string) {
s.Lock()
s.Unlock()
delete(s.m, item)
}
func (s *Set) Has(item string) bool {
s.RLock()
defer s.RUnlock()
_, ok := s.m[item]
return ok
}
func (s *Set) Len() int {
return len(s.List())
}
func (s *Set) Clear() {
s.Lock()
defer s.Unlock()
s.m = map[string]bool{}
}
func (s *Set) IsEmpty() bool {
{
return true
}
return false
}
func (s *Set) List() []string {
s.RLock()
defer s.RUnlock()
list := []string{}
for item := range s.m {
list = append(list, item)
}
return list
}
go生成不重复的纯数字6位的随机数的更多相关文章
- Mysql 生成不重复的随机数字
在网上查找Mysql 生成不重复的随机数字 ,竟然没找到合适的例子. 其实思路很简单,利用MySQL现有的函数,然后进行加工处理,达到预期的结果.可以用到的MySQL函数为rand() ,以及 rou ...
- java中生成不重复随机的数字
Java中产生随机数 1 . 调用java.lang下面Math类中的random()方法产生随机数 新建一个文件后缀名为java的文件,文件名取为MyRandom,该类中编写如下的代码: publi ...
- PHP随机生成不重复的8位卡号(数字)和卡密(字符串)
一.生成不重复的随机数字,可自定义长度(最多支持10位数) /** * 生成不重复的随机数字(不能超过10位数,否则while循环陷入死循环) * @param int $start 需要生成的数字开 ...
- Java随机生成定长纯数字或数字字母混合数
(转)Java随机生成定长纯数字或数字字母混合数 运行效果图: 具体实现代码
- php生成随机字符串可指定纯数字、纯字母或者混合的
php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的. 可以指定长度的. function rand_zifu($what,$number){ $string=''; for($i = 1 ...
- php生成纯数字、字母数字、图片、纯汉字的随机数验证码
现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡! 首先,我们开始先生成一个放验证码的背景图片 注:没有Imagejpg()这个函数,只有imagepng()函数 imagecreatet ...
- C#生成不重复的随机数(转)
我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复随机数的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random. 对于随机数,大家都知道,计算机 ...
- C#生成不重复的随机数
在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数 http://www.jbxue.com/tags/suijishu.h ...
- [转载]C# Random 生成不重复随机数
Random 类 命名空间:System 表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备. 伪随机数是以相同的概率从一组有限的数字中选取的.所选数字并不具有完全的随机性,因为它 ...
随机推荐
- GridView设置焦点到Cell
/// <summary> /// 设置焦点到Cell /// </summary> /// <param name="view"></p ...
- mysql 事物没提交导致事物一直运行解决方案
1.设置 innodb_kill_idle_transaction 参数, 可以永久避免 https://dbaplus.cn/news-11-974-1.html
- Linux系统的目录结构及常见目录总结
Linux系统的目录结构(必须掌握的内容) 所有目录只有一个顶点/(根),所有目录的起点. 只有一棵树 Linux的目录结构也是有规律的,而且也是按照类别组织的. 应用程序 /usr/bin 数据文件 ...
- c# 设计模式(一) 工厂模式
源代码在github上面,需要的自己进行下载:https://github.com/yuzhoukamen/UnikmDesignPattern.git 工厂模式(Factory Pattern)是最 ...
- 3、SpringBoot 集成Storm wordcount
WordCountBolt public class WordCountBolt extends BaseBasicBolt { private Map<String,Integer> c ...
- 爬坑系列----Redis查询key报空指针异常,而redis中确实存在该key
现象: 1.在A方法中根据key查询一个list,可以获取到相应的值 2.在B方法中同样调用此方法,传入相同的key,查询不到值,为null,报空指针异常 起初我也一脸懵逼,到现在虽然解决了,还是不知 ...
- Codeforces Round #503 (by SIS, Div. 2)
连接:http://codeforces.com/contest/1020 C.Elections 题型:你们说水题就水题吧...我没有做出来...get到了新的思路,不虚.好像还有用三分做的? KN ...
- 移动web端在线观看ppt
使用office online 移动端重定向地址,重定向地址生成方式(对ppt地址进行两次编码),代码如下.将代码中http://video.ch9.ms/build/2011/slides/TOOL ...
- Lintcode174-Remove Nth Node From End of List-Easy
174. Remove Nth Node From End of List Given a linked list, remove the nth node from the end of list ...
- 利用GSEA对基因表达数据做富集分析
image Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a p ...