我需要在Golang中生成一个唯一的随机数。我有一个简单的ruby代码:
(0...16).map { rand(10).to_s }.join
所以,实际上,我需要生成一个长度为16的数字,其中每个数字从[0-9]中随机选取。我不明白random.Intn(n)函数如何帮助我。不知道怎么办?
答案 0 :(得分:2)
一种方法是:
s := ""
for i := 0; i < 16; i++ {
s += (string)(rand.Intn(10) + 48)
}
48是0
的ascii值。
或者使用@Flimzy更有效的建议:
s := fmt.Sprintf("%016d", rand.Int63n(1e16))
其中"%016d"
将使用零填充数字。