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.

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

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型