生成邀请代码的字符串编号

  • 本文关键字:字符串 编号 代码 go
  • 更新时间 :
  • 英文 :


我想为邀请代码生成编号。

我得到了一个数字,我需要根据这个数字生成一个字符串数字。

示例:对于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))
}

关于

您可以这样做:

package main
import (
"fmt"
"math/rand"
"time"
)
func init() {
rand.Seed(time.Now().UnixNano())
}
var numbers = []rune("0123456789")
func GenerateNumberString(length int) string {
b := make([]rune, length)
for i := range b {
b[i] = numbers[rand.Intn(len(numbers))]
}
return string(b)
}
func main() {
fmt.Println(GenerateNumberString(2))
fmt.Println(GenerateNumberString(3))
fmt.Println(GenerateNumberString(4))
}

在操场上试试吧。

最新更新