golang生成随机数可以使用math/rand包,
示例如下:
packagemain import( "fmt" "math/rand" ) funcmain(){ fori:=0;i<10;i++{ fmt.Println(rand.Intn(100)) } }而发现这种情况,每次执行的结果一样.
修改如下:
packagemain import( "fmt" "time" "math/rand" ) funcmain(){ r:=rand.New(rand.NewSource(time.Now().UnixNano())) fori:=0;i<10;i++{ fmt.Println(r.Intn(100)) } }而这种方式就可以使用时间种子来获取不同的结果了。
示例2:
packagemain import( "fmt" "math/rand" "time" ) funcmain(){ rand.Seed(time.Now().UnixNano()) fori:=0;i<10;i++{ x:=rand.Intn(100) fmt.Println(x) } }例子是打印10个100以内(0-99)的随机数字。
本文内容总结:
原文链接:https://www.cnblogs.com/unqiang/p/6677863.html