【发布时间】:2019-05-04 17:53:10
【问题描述】:
我想生成邀请码号码。
我得到了一个数字,我需要根据这个数字生成一个字符串数字。
示例: 对于 3,我需要在 111 和 999 之间生成一个字符串编号 4 1111 至 9999 2 11 至 99 等等……
最好的方法是什么?
我有一些想法,比如根据 x 为第一个字符串填充 1,根据 X 为第二个字符串填充 9。
然后将它们转换为 int 并在这两个数字之间做一个随机数,但我不认为这是最好的方法。
package main
import (
"fmt"
"math/rand"
"strconv"
"time"
)
func randInt(min int, max int) int {
return min + rand.Intn(max-min)
}
func main() {
x := 3
first := ""
second := ""
i := 0
for i < x {
first = first + "1"
i = i + 1
}
i = 0
for i < x {
second = second + "9"
i = i + 1
}
rand.Seed(time.Now().UTC().UnixNano())
fmt.Println(first)
fmt.Println(second)
firstInt, _ := strconv.Atoi(first)
secondInt, _ := strconv.Atoi(second)
fmt.Println(randInt(firstInt, secondInt))
}
问候
【问题讨论】:
-
这是一个有约束的随机数......就像数字的数量......不是数组中的随机字符串......蚂蚁在第一篇文章中没有零。
标签: go