用golang生成6位数的唯一id,5分钟生成八十万唯一的id。

package randid_testimport (//"database/sql""fmt""math/rand""testing""time""io""os""strconv"//_ "github.com/go-sql-driver/mysql"
)//生成若干个不重复的随机数
func RandomTestBase() {//测试5次//for i := 0; i < 1; i++ {nums := generateRandomNumber(100000, 999999, 800000)fmt.Println(len(nums))//fmt.Println(nums)var wireteString = ""var filename = "./output1.txt"var f *os.Filevar err1 error/***************************** 第一种方式: 使用 io.WriteString 写入文件 ***********************************************/if checkFileIsExist(filename) { //如果文件存在f, err1 = os.OpenFile(filename, os.O_APPEND, 0666) //打开文件fmt.Println("文件存在")} else {f, err1 = os.Create(filename) //创建文件fmt.Println("文件不存在")}checkErr(err1)wireteString = "insert into king_identifier (recordid) values ";n, err1 := io.WriteString(f, wireteString) //写入文件(字符串)checkErr(err1)fmt.Printf("写入 %d 个字节n", n)for  k,v := range nums {fmt.Println(k)fmt.Println(v)wireteString = "("+strconv.Itoa(v)+"),"n, err1 := io.WriteString(f, wireteString) //写入文件(字符串)checkErr(err1)fmt.Printf("写入 %d 个字节n", n)}io.WriteString(f, ";")//}
}//生成count个[start,end)结束的不重复的随机数
func generateRandomNumber(start int, end int, count int) []int {//范围检查if end < start || (end-start) < count {return nil}//db, err := sql.Open("mysql", "game:game@/kingclubdb")//checkErr(err)//存放结果的slicenums := make([]int, 0)//随机数生成器,加入时间戳保证每次生成的随机数不一样r := rand.New(rand.NewSource(time.Now().UnixNano()))for len(nums) < count {//生成随机数num := r.Intn((end - start)) + start//查重exist := falsefor _, v := range nums {if v == num {exist = truebreak}}if !exist {nums = append(nums, num)//插入数据//stmt, err := db.Prepare("insert into king_identifier (recordid) values (?)")//checkErr(err)//res, err := stmt.Exec(num)//checkErr(err)//id, err := res.LastInsertId()//checkErr(err)////fmt.Println(id)//stmt.Close();}}return nums
}func checkErr(err error) {if err != nil {panic(err)}
}/*** 判断文件是否存在  存在返回 true 不存在返回false*/
func checkFileIsExist(filename string) bool {var exist = trueif _, err := os.Stat(filename); os.IsNotExist(err) {exist = false}return exist
}func TestTransRate(t *testing.T) {RandomTestBase()}

用golang生成6位数的唯一id相关推荐

  1. 雪花算法及运用PHP,雪花算法生成全局唯一ID,参考了下网上雪花算法生成规则,机器ID和序列号自动获取 理论上毫秒可生成 1024*4096个唯一ID

    任务要求毫秒生成10000个唯一ID 研究了下twitter/snowflake的算法思想: 参考了下网上雪花算法生成规则,把数据中心和机器编号整合一起,变成10位机器ID, 机器ID和序列号自动获取 ...

  2. node 生成随机头像_唯一ID生成算法剖析

    引在业务开发中,大量场景需要唯一ID来进行标识:用户需要唯一身份标识:商品需要唯一标识:消息需要唯一标识:事件需要唯一标识-等等,都需要全局唯一ID,尤其是分布式场景下.唯一ID有哪些特性或者说要求呢 ...

  3. Python 基于Python生成短8位唯一id解决方案

    利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62(字符0-9,a-z,A-Z总数量62个字符)操作,结果作为索引取出字符 ...

  4. mysql 分布式 生成序号_分布式唯一ID生成方案

    唯一ID在业务系统中经常用到,例如数据库的唯一主键,那么唯一ID如何生成,我们这里介绍一些常见的实现方案. 字符串ID 如果采用字符串id,那么很简单,直接使用jdk自带的UUID,原始生成的是带中划 ...

  5. android唯一机器码生成方案_分布式系统唯一ID生成方案汇总

    系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很多,适应不同的场景.需求以及性能要求.所以有些比较复杂的系统会有多个ID生成的策略.下面就介绍一些常见 ...

  6. 随机生成10位数的字符串ID

    简述 项目中,有种业务需要当前表中存个另外一个表中的主键ID字段,如果用数据库自增的话,容易出现重复 比如A表主键ID自增1.2.3.....,B表主键ID自增1.2.3.....,A表中有个字段是B ...

  7. 雪花算法生成数字id_全局唯一iD的生成 雪花算法详解及其他用法

    SnowflakeIdWorker { // ==============================Fields========================================= ...

  8. Java 生成订单号(唯一id)方案

    1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...

  9. Java 生成订单号或唯一id(高并发)方案

    1.直接使用uuid public static String getUUID() {String replaceUUID = UUID.randomUUID().toString().replace ...

  10. android 自动生成id,《转载》生成Android设备的唯一ID

    1.最简单的方式:获取IMEI号 TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVIC ...

最新文章

  1. vsftpd+pam+mysql实现ftp构建
  2. 入门:PHP:hello world!
  3. 【Android 安全】DEX 加密 ( Application 替换 | 分析 Service 组件中调用 getApplication() 获取的 Application 是否替换成功 )
  4. sublime text 2 下的Markdown写作
  5. 格“物”致知:多模态预训练再次入门
  6. java hasfocus_Java KeyEvent.hasNoModifiers方法代碼示例
  7. mysql drbd pacemaker_corosync+pacemaker+mysql+drbd 实现mysql的高可用
  8. 6000个边缘Kubernetes节点驱动城市80万次智能停车,如何成为可能?
  9. [翻译]AppSettings In web.config by K.Scott Allen
  10. VS2015安装破解版Visual Assist X
  11. vue使用阿里巴巴矢量图标
  12. android音乐播放器音乐推荐,七大主流Android音乐播放器横向评测
  13. C# sqlsugar依赖引用报错的问题解决
  14. 谷歌地图动画_Google地图上的动画路线
  15. 表格内容如何合并在一起
  16. win8连接wifi成功但受限制_win8平板电脑魔兽评测 Win8平板Pi游戏平板电脑测评PO W1流畅运行...
  17. 网上教务评教管理系统(教学评价系统)
  18. ping命令 ——测试主机间网络连通性
  19. win7家庭版桌面没有计算机图标,Win7 home basic家庭普通版显示桌面图标的方法
  20. Lecture4 反向传播(Back Propagation)

热门文章

  1. 男神女神投票源码 v5.5.21 投票源码
  2. python实现qq自动点赞_python实现自动点赞
  3. 正确使用RecyclerView分割线
  4. 神器!亲自教大家一键用手机远程控制电脑,让手机秒变高配电脑!
  5. AutoCAD Electrical 2020 安装后无激活界面
  6. DBUtils和连接池的笔记和总结
  7. 【路在脚下】----成长的感觉
  8. python计算加权平均分_python – 使用numpy.average的加权平均值
  9. 硬件设计丨什么是硬件工程师?
  10. 打开ISEIP核里面的datesheet失败,显示C:\Program Files (x86) internet explorer\iexplore.exe http:\\www.xilinx.com