dsgffz2579 2018-01-10 07:33
浏览 369
已采纳

在Go lang中生成固定长度的随机数

I need to generate an unique random number in Golang. I have a simple ruby code for it:

(0...16).map { rand(10).to_s }.join

So, effectively i need to generate a number of length 16 where each digit is randomly picked up from [0-9]. I did not understand how random.Intn(n) function can help me. Any idea how can I do this?

  • 写回答

1条回答 默认 最新

  • dtqqq24248 2018-01-10 07:43
    关注

    One way is:

    s := ""
    for i := 0; i < 16; i++ {
        s += (string)(rand.Intn(10) + 48)
    }
    

    48 is the ascii value for 0.

    Or by using @Flimzy's more efficient suggestion:

    s := fmt.Sprintf("%016d", rand.Int63n(1e16))
    

    where "%016d" will help pad the number with zeros.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备