需求在并发下生成不同的随机数,使用match/rand下的不满足需要
package main import ( "crypto/rand" "fmt" "math/big" "strconv" "sync" "time" ) func main() { wg := sync.WaitGroup{} fmt.Println("go start", time.Now()) var arr = []string{} for i := 0; i < 300; i++ { wg.Add(1) go func() { n, _ := rand.Int(rand.Reader, big.NewInt(100000000)) arr = append(arr, strconv.FormatInt(n.Int64()+time.Now().UnixNano(), 10)) wg.Done() }() } wg.Wait() fmt.Println(arr) }