用Go语言写一个能并发生成指定长度的随机数字字符串方法
时间: 2023-12-06 19:02:58 浏览: 98
Python中生成一个指定长度的随机字符串实现示例
5星 · 资源好评率100%
可以使用Go语言的内置包math/rand和time来生成随机数字字符串,使用goroutine实现并发。
下面是一个示例代码:
```go
package main
import (
"fmt"
"math/rand"
"time"
)
const charset = "0123456789" // 定义字符集
func GenerateRandomString(length int, ch chan<- string) {
rand.Seed(time.Now().UnixNano()) // 设置随机数种子
b := make([]byte, length)
for i := range b {
b[i] = charset[rand.Intn(len(charset))]
}
ch <- string(b)
}
func main() {
length := 10 // 生成的字符串长度
num := 5 // 并发生成的数量
ch := make(chan string, num)
for i := 0; i < num; i++ {
go GenerateRandomString(length, ch)
}
for i := 0; i < num; i++ {
fmt.Println(<-ch)
}
}
```
在这个示例中,我们定义了一个字符集,长度为10,数量为5的随机字符串生成器。使用goroutine实现并发,每个goroutine生成一个随机字符串并将其发送到通道中。在主函数中,我们从通道中读取生成的随机字符串并打印输出。
阅读全文